当前位置:编程学习 > C#/ASP.NET >>

Encoding.Unicode.GetBytes("一")转换问题

Encoding.Unicode.GetBytes("一")[0]:0
Encoding.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:一 --------------------编程问答--------------------

Encoding.GetEncoding("gb2312").GetBytes("一")
--------------------编程问答-------------------- 请说仔细点,我不太懂,这是怎么回事,如果收到的是0,78怎么判断是不是中文啊,因为编码数据是我接受到的,能给我解释一下Encoding.Unicode.GetBytes的具体含义吗? --------------------编程问答-------------------- 判断是否中文有现成的例子,百度一下 --------------------编程问答-------------------- 编码器可以使用 Big-Endian 字节顺序(从最高有效字节开始),也可以使用 Little-Endian 字节顺序(从最低有效字节开始)。例如,大写拉丁字母 A(码位为 U+0041)的序列化结果(十六进制)如下所示: 

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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,