㈠ 在C++里怎麼把char數組轉換成byte數組
C++沒有byte類型,byte一般都指unsigned char。
如果要把char[]轉unsigned char[]的話,只需要把類型強制轉換一下就行了
例如:
char*a=newchar[10]();//申請一個char數組
unsignedchar*b=(unsignedchar*)a;//轉化
㈡ java中怎麼把一個中文字元char轉換成byte
1、中文一個字是兩個char,即是String類型。
2、String只能轉為byte[]數組,方法是調用其getBytes()方法。
㈢ java怎麼把char轉換成byte數組
1、位元組數組轉換為字元串
byte[]
byBuffer
=
new
byte[20];
String
strRead
=
new
String(byBuffer);
strRead
=
String.ValueOf(strRead.toCharArray(),
0,
byBuffer.length]);
2、字元串轉換成位元組數組
byte[]
byBuffer
=
new
byte[200];
String
strInput=abcdefg;
byBuffer=
strInput.getBytes();
注意:如果字元串裡面含有中文,要特別注意,在android系統下,默認是UTF8編碼,一個中文字元相當於3個位元組,只有gb2312下一個中文相當於2位元組。這種情況下可採取以下辦法:
㈣ 在VC中,如何實現char*轉換成byte*,
char *p1;
在運算應用中
(byte *)p1
即可
㈤ Delphi怎麼把一個CHAR 轉換為 Byte形請高手指點
c語言中沒有byte這種類型,這是計算機中存儲信息的單位。
char 是字元型
byte 是位元組型(0 - 255)
在參與算術運算是char類型會自動轉為整型;如字元A會轉為對應ASCII碼65.
char是用來表示一個字元,而不是一個字,因為一個字要佔用兩個位元組。而存儲一個ANSI字元只需一個位元組。注意,強調是ANSI字元,而不是Unicode字元。因為Unicode要佔用兩個位元組。
byte類型是最自由的一種。它就佔用一個位元組,但沒有定義這個位元組拿來干什麼。char定義為一個Unsigned Byte類型。也就是無符號的一個位元組。它將一個位元組的8位全佔用了。可以表示的數據范圍是0到255之間。
如果你確定處理的字元串是標準的ANSI字元串,那不必轉換也可以直接一個位元組一個位元組地處理。如果要處理的字元串不定或是統一的Unicode字元串則要進行轉換後進行處理。
㈥ 如何:將 char * 字元串轉換為 System:Byte 數組
有兩張方法:
方法一:
//字元串轉byte
string StringMessage = "How Are you?";
Console.WriteLine("{0}", StringMessage);
System.Text.ASCIIEncoding ASCII = new System.Text.ASCIIEncoding();
Byte[] BytesMessage = ASCII.GetBytes(StringMessage);
//byte轉字元串
Byte[] BytesMessage;
System.Text.ASCIIEncoding ASCII = new System.Text.ASCIIEncoding();
String StringMessage = ASCII.GetString( BytesMessage );
方法二:
//字元串轉UTF-8 byte
string StringMessage = "Hello World How Are you? Pi /u03C0 Yen /uFFE5";
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
Byte[] BytesMessage = UTF8.GetBytes(StringMessage);
//UTF-8 byte 轉字元串
Byte[] BytesMessage;
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
String StringMessage = UTF8.GetString( BytesMessage );
㈦ char和byte是一個意思
char和byte這兩種數據類型容易相互混淆,他們的區別主要如下:
1、數據類型不同
byte是位元組數據類型,是有符號型的,可以表示-128—127的數;
char是字元數據類型,是無符號型的,可以表示一個整數,不能表示負數。
用法舉例:
chari=85;//U對應ASCII是85
byted3=127;//如果是byted3=128;會報錯
byted4=-128;//如果是byted4=-129;會報錯
2、佔用空間大小和大小范圍不同
byte佔1個位元組;大小范圍為-128—127 ;
char佔2位元組(Unicode碼);大小范圍是0—65535;char是一個16位二進制的Unicode字元,JAVA用char來表示一個字元。
3、另外char可以表示中文字元,byte不可以。用法舉例:
chare1='中',e2='國';
bytef=(byte)'中';//必須強制轉換否則報錯
㈧ 在C++里怎麼把char數組轉換成byte數組
char和byte都是8位。char默認是signed還是unsigned看編譯器,一般是signed也就是有符號char類型,范圍為0-127.它的最高位是不用的,為0.
byte范圍0-255,。所以char轉byte直接強制類型轉換就可以,不會丟失數據
㈨ java 中,char 數組轉換成 byte數組(急,在線等)
package com.example.lib;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.*;
import java.nio.charset.Charset;
public class MyClass {
public static void main(String[] args) throws IOException {
FileInputStream fs; //定義流對象變數
fs = new FileInputStream("/Users/mac/AndroidStudioProjects/MyApplication/lib/src/main/java/com/example/lib/mytext.txt");
byte[] bytes = new byte[fs.available()]; //定義接收數據的位元組數組,並用流對象初始化數組大小
fs.read(bytes); //裝載數據
char[] w = getChars(bytes);//將位元組數組轉化為字元數組,注意數組末尾會有空字元
String s = new String(w); //利用字元串構造函數來構造字元串,
System.out.println("結果為:"+s.trim());輸出時,去掉末尾空格字元
}
private static byte[] getBytes (char[] chars) {
Charset cs = Charset.forName ("UTF-8");//設定字元集編碼代號
CharBuffer cb = CharBuffer.allocate (chars.length);//按照字元數組長度進行分配空間
cb.put (chars); //裝載數據
cb.flip (); //指針復位
//按照編碼規則進行編碼
ByteBuffer bb = cs.encode (cb);
return bb.array();
}
private static char[] getChars (byte[] bytes) {
Charset cs = Charset.forName ("UTF-8");//指定字元集編碼
ByteBuffer bb = ByteBuffer.allocate (bytes.length);
bb.put (bytes);//裝載數據
bb.flip ();//調整回指針為0
CharBuffer cb = cs.decode (bb);//按照指定字元集進行解碼
return cb.array();//返回字元數組
}
}