Encoding.Unicode.GetBytes("一")转换问题
Encoding.Unicode.GetBytes("一")[0]:0Encoding.Unicode.GetBytes("一")[0]:78
这是为什么?“一”转成unicode怎么成 0,78了?每个字节都比127小?怎么判断它是不是汉字啊?安说汉字编码会有高字节的啊?
而且
byte[] byte1=new byte[2];
byte1[0]=0;
byte1[1]=78;
string str=Encoding.Unicode.GetString(byte1);
str:一 --------------------编程问答--------------------
--------------------编程问答-------------------- 请说仔细点,我不太懂,这是怎么回事,如果收到的是0,78怎么判断是不是中文啊,因为编码数据是我接受到的,能给我解释一下Encoding.Unicode.GetBytes的具体含义吗? --------------------编程问答-------------------- 判断是否中文有现成的例子,百度一下 --------------------编程问答-------------------- 编码器可以使用 Big-Endian 字节顺序(从最高有效字节开始),也可以使用 Little-Endian 字节顺序(从最低有效字节开始)。例如,大写拉丁字母 A(码位为 U+0041)的序列化结果(十六进制)如下所示:
Encoding.GetEncoding("gb2312").GetBytes("一")
Big-endian 字节顺序:00 00 00 41
Little-endian 字节顺序:41 00 00 00
其中Little-Endian 是默认的,想要Big-Endian 如下
Encoding cod =new UnicodeEncoding(true,false);
byte[] b=cod.GetBytes("一");
汉字的utf16范围你到网上搜一下
补充:.NET技术 , C#