问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

GBK内码 Unicode码 区位码有什么区别和联系 怎样互相转化

发布网友 发布时间:2022-04-24 10:14

我来回答

1个回答

热心网友 时间:2022-04-22 07:58

ANSI , 这是美国国家标准协会制定的编码格式,例如"A汉" 在这种编码方式下的内存值为 41 BA BA ,'A'占用一个字节,"汉"用两个字节,而且 BA BA 正式 GBK内码的值, 那让我们先认识GBK编码. GB2312,GBK,GB18030都是中国人自己发明的(中国之外并不使用的), 他们出现的时间顺序是GB2312 -> GBK -> GB18030 ,他们是包含关系,GB我猜是 "国标" 的意思 "k" 可能是 "扩展", 这些编码都是书面协议,要在计算机内部表示所以GB2312的内存值须在原来的每个字节值(区位码)上加0x80得到机内码,加上0x80是为了使得每个字节的最高位为1,这样就可以在内存中区分汉字和ASCII了[因为ASCII的最高位都为0]. 但是后来要在GB2312上扩展(得到GBK,GB18030),就需要更多的编码空间,所以GBK,GB18030就没有要求第二个字节的的最高位为1了,而是通过第一个字节来判断这是一个字节的ASCII还是两个字节的GBK.另外需要说明一点GB2312,GBK,GB18030是向下兼容的,例如 "汉" 在GB2312,GBK,GB18030中都是BA,BA . 另外,GB2312,GBK并没有因为GB18030的出现退出市场,在一些嵌入式设备中还是应用广泛的,因为减少字库容量可以大大减少成本. 回到之前的ANSI, 我们大概知道了GBK(不知道人们为什么喜欢用GBK而不是GB18030,姑且认为是GBK只有3个字母,书写方便吧!),那么ANSI又是怎么回事呢? ANSI就像一个指针,本身没有内容,如果指向"中国的编码",那么它就是GBK,如果指向"印度的编码",他就是x??x.也就是说在中国ANSI是GBK,在日本ANSI是XXX,在印度ANSI是???,但是他们在windows的记事本中都只能看到ANSI.但是ANSI也做了一些小的变动,就像刚才一样,'A'在内存中只占用了一个字节,也就是说ANSI = ASCII + 本地编码Unicode: 但是,我们怎么在一个汉语资料中书写日文符号呢?这时,Unicode出现了,不过它是谁发明的,反正Unicode把世界上的所有文字符号都包含进来了,不仅解决了刚才说的问题,而且程序员用Unicode写的程序可以在全世界的电脑上运行.C语言中用wchar_t表示.UCS: 据说UCS是和Unicode一样的工程,最后两个工程达成共识,所以编码完全兼容.所以我就把UCS看做Unicode. 这里的UCS-2就是常说的UCS,只使用了两个字节保存一个字符,而UCS-4则是使用4个字节保存一个字符.UTF-8: (ucs transformation format),为什么要创造UTF-8呢?其中一个原因是:0x00在C语言及操作系统文件名(等..)中有特殊意义(如字符串结尾),然而按照Unicode编码的话,很可能这个字符的第一个字节(高字节)为非零数值,而低字节为零,这样C语言就会误认为这是字符串的结尾.所以UTF-8的一个功能是保证Unicode编码表中不出现0x00(当然正常的0x00是可以的)UCS-2编码,Unicode(16进制) UTF-8 字节流(二进制)
0000 - 007F 0xxxxxxx
0080 - 07FF 110xxxxx 10xxxxxx (第一个1之后有几个1就表示后面还有一个字节,这里后面还有1个)
0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx (第一个1之后有几个1就表示后面还有一个字节,这里后面还有2个) 应为UTF-8的这种编码方式,它不需要判断大小端模式,所以它是利于网路传输的(我也不知道是为什么) (BOM) EF BB BF ,我们可以通过BOM来判断文本是否为UTF-8编码格式.打开一个文本文件时如何判断是何种编码呢?1)提示用户选择编码类型2)根据一定的规则猜测编码类型3)检测文件头标识识别编码类型
EF BB BF    UTF-8
FE FF      UTF-16/UCS-2(Unicode), little endian,(在文件一个只含一个字母'A'的中文件中,文件内容为 FE FF 00 41 )
FF FE      UTF-16/UCS-2(Unicode), big endian,(在文件一个只含一个字母'A'的中文件中,文件内容为 FF FE 41 00 )
FF FE 00 00   UTF-32/UCS-4, little endian.
00 00 FE FF   UTF-32/UCS-4, big-endian. 区位码 国标(GBK) 内码 "汉" 1A1A 3A3A BABA 国标 = 区位码 + 0x20 (每个字节) 内码 = 国标(GBK) + 0x80 (每个字节)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2024年云南292分能考上什么大学? 2024高考多少分能被焦作大学录取 【芍药花茶】芍药花茶的功效与作用 芍药花茶怎样喝 芍药花茶的介绍 芍药花茶的属性和功效 联想拯救者电竞手机Pro评测 植物大战僵尸花园战争有用的激活码发给我,有用我就采纳 亲亲奶爸《亲亲奶爸》歌词 植物大战花园战争激活码只能用一次? 歌词中带有。我的好爸爸。我的好爸爸。儿女怎能舍得让你走,_百度... edge浏览器没声音是怎么回事-edge浏览器没声音解决办法 70%的金融类APP存在高危漏洞,你的钱还安全吗? 金融管理部门约谈13家网络平台企业,约谈背后不变的内核是什么? 编码中 unicode 与 GBK 有什么区别 如何防范互联网金融风险 引发监管领导严厉发声,互联网巨头染指金融到底做了什么? 为何说金融行业已经成为网络攻击的重灾区? 请问Y03小天才手表能下载蜻蜓fm 小天才手表怎样下载吃鸡? 小天才Y03用苹果手机怎么绑定第二个? 为什么小天才电话手表Y03放水里手机APP端无泡水提醒? excel查询功能如何设置筛选 怎样在excel中设置查询功能? 洗衣机到底能不能洗羽绒服?为什么我买的小天鹅洗衣机上说不可以洗呢? 鹅绒,羽绒服可以用洗衣机脱水么? 在电脑上怎么恢复游戏图标? 电脑右下角的游戏图标怎样删除? 我电脑桌面上的游戏图标怎么成白色了,不是那个游戏标了 电脑上面的游戏图标怎么删了 电脑上的游戏图标怎么换? 电脑桌面上经常出现垃圾游戏图标是怎么回事? 2017金融业有什么大事件? java中如何将unicode编码的汉字串转为gbk编码??? 金融管理部门约谈13家网络平台企业,约谈的目的是什么? unicode码与GBK码 金融突发事件有哪些种类? python中gbk、utf-8、ascii、Unicode的关系是什么? 金融管理部门约谈13家网络平台企业,这些企业是因为什么被约谈的? 大数据时代,谁能保障互联网安全 关于GB2312、GBK、unicode、utf-8以及数据库方面的疑问 互联网金融领域到底存在哪些风险? 如何制作GBK与Unicode的对照表 网络安全问题对网络金融发展有什么影响 如何判断UTF8和UNICODE和GBK编码 网络金融风险的控制网络金融风险的对策建议 unicode和GBK内码如何相互转化 金融诈骗的主要类型有什么? GB2312,GBK,GB18030,UNICODE中哪一种编码收了最多汉字? 请问在VB中如何将unicode转换成GBK码发送,要任意字符串的。这是一段文字转成unicode的,然后再转成gbk java默认的字符编码是unicode还是gbk 方子传未删减360云盘