黑马程序员技术交流社区
标题:
字节和编码问题
[打印本页]
作者:
.net_交流
时间:
2014-8-3 23:25
标题:
字节和编码问题
本帖最后由 .net_交流 于 2014-8-7 00:25 编辑
哪位同学能详细说下,字节和编码之间有什么关系???一个char(1)为什么不能入一个汉字 ,有点糊涂编码与字节的关系
作者:
qsq0000hm
时间:
2014-8-3 23:30
文本文件编码,文本文件有不同的存储方式,将字符串以什么样的形式保存为二进制,这个就是编码,UTF-8、ASCII、Unicode等,如果出现乱码一般就是编码的问题,文本文件相关的函数一般都有一个Encoding类型的参数,取得编码的方式:Encoding.Default、Encoding.UTF8、Encoding.GetEncoding("GBK")
文件编码(码表)
ASCII:英文码表,每个字符占1个字节。(正数)
GB2312:兼容ASCII,包含中文。每个英文占一个字节(正数),中文占两个字节(负数)
GBK:简体中文,兼容gb2312,包含更多汉字。英文占1个字节(正数),中文占两个(1个负数,1个可正可负)GB18030
Big5:繁体中文
Unicode:国际码表,中文英文都站2个字节。
UTF-8:国际码表,英文占1个字节,中文占3个字节。
作者:
.net_交流
时间:
2014-8-4 22:12
qsq0000hm 发表于 2014-8-3 23:30
文本文件编码,文本文件有不同的存储方式,将字符串以什么样的形式保存为二进制,这个就是编码,UTF-8、ASC ...
谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!
作者:
Franklin
时间:
2014-8-4 22:14
来这里学习了
作者:
FrancisTan
时间:
2014-8-4 23:22
本帖最后由 FrancisTan 于 2014-8-4 23:25 编辑
楼主,前一个问题我也说不清楚,所以只回答后一个问题。char类型的字符不能存储汉字,是因为char只占一个字节,
一个字节有八个位,它的最大值仅为255,所以它只能表示0~255
之间的256个字符,而这就是所谓的ASCI码,显然,这里不包含汉字
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2