关于编码的使用

来源:互联网 发布:web science数据库 编辑:程序博客网 时间:2024/04/30 11:03

在这里并不介绍什么是编码,或者编码有哪些种类,这里只是介绍在开发过程中遇到的关于使用编码的体会。

 

中文汉字编码名称为gb2312或者936。汉字的占两个字节,英文字符占一个字节。

一个字节的值在0-255之间

 

ANSI:OS的编码,中文就是GB2312

 

unicode big  endian FE FF 高位 低位

unicode FF FE 低位 高位

 

UTF-8:unicode 的传输格式。 它是unicode经过特殊算法计算后形成的。

EF BB BF 表示这是一个UTF-8编码。

 

System.Text.Encoding 中Default属性可以获取OS使用的编码。

 

//在.NET中获得中文编码对象。

System.Text.Encoding   gb = System.Text.Encoding.GetEncoding(936);

System.Text.Encoding   gb2 = System.Text.Encoding.GetEncoding("gb2312");

 

在从文本文件中读取的时候,要指定读取时使用的编码,防止出现乱码。(!)这点很必要。

System.IO.StreamReader sr = new StreamReader("textFile.Txt",gb);

string msg = sr.ReadToEnd();

 

//将字符串转换为字节序列

byte[] gbByte = gb.GetBytes("中国汉字");

 

gb2312编码中的中文汉字占两个字节,首字节的编码值>=160。

 

应用实例一:

将字符串 "中国,你好!Hello,China!"   中的中文"中国,你好!"提取出来。

1.将字符串转换为字节序列。

2.判断值是否大于等于160,如果真则取出与之相邻的下一个字节。

 

 

总结:写的很乱。

 

 

 

 

 

原创粉丝点击