关于编码的使用

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

 

中文汉字编码名称为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,如果真则取出与之相邻的下一个字节。

 

 

总结:写的很乱。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值