关于Byte类型的理解
byte[] bs1 = Encoding.GetEncoding("GB2312").GetBytes("a");
bs1[0] = 97;
// 可以理解转成了Acsll码
byte[] bs2 = Encoding.GetEncoding("GB2312").GetBytes("我");
bs2[0] = 206 ; bs2[1] = 210;
// 这个是怎么转换出来的呢?
备注:很多程序都用到byte类型的操作,比如IO流,为什么byte运用的这么广泛,文件的操作都可以转换成byte二进制进行操作传输之类的,这是什么实现的呢,我对这个byte一点也不熟悉,求高手赐教!!!
[解决办法]
"我"的gb2312编码就是206 210,双字节的,至于怎么转换的,你不用追究。
[解决办法]
到图书馆借/书店买这本书:http://book.douban.com/subject/4822685/
[解决办法]
1byte=8bit
每个bit只能存1或0
cpu 每次最少都是读1byte的
一切的数据都是由若干个0和1组成的
你能把任何东西用若个干0和1表示 并保存起来
当然可以把这个过程逆转
大写字母A 可以用 0100 0001
当然你可以把0100 0001转成整数数字
反正你可以把一大堆0和1按某种编码转来转去
但byte是CPU最小的读取单位 所以都可以把任何数据转成byte
在一些编码中 字母 由1byte就可以表示
在些编码中 中文 要占2个byte的容量
想深入了解 可以看看google 或看楼上推荐的书
[解决办法]
byte = 1字节 等同于c++中的 char
char = 2字节 等同于c++中的 wchar_t
string 宽字符 等同于c++中的 wstring
[解决办法]