百科狗-知识改变命运!
--

Unicode和ASCII的区别是什么

桃子1年前 (2023-12-05)阅读数 17#综合百科
文章标签字节是一个

ascii是一个字节,但是unicode可不一定就是两个字节. ascii只能表示英文数字和常用标点符号,编码在1-127之间.unicode可以表示所有字符,编码范围很大.ascii 能表示256个符号,低128个是英文 数字 标点 与一些不可显示字符高128个在不同的代码页上会表示不同的内容,就像繁体中文与简体中文一样,繁体中文的txt(ascii)在简体下打开就是乱码 unicode就不存在问题,因为能表是65000个字符,因此不会有重复字符发生unicode正在慢慢取代ascii ,windows 2000开始系统的核心就是unicode的

一个字符在内部表示成 unicode codepoint,对于单字节的字符来说,它就是 ASCII

Unicode和ASCII的区别是什么

码,对于多字节来说就很复杂的编码,它就是一个代码表,就像查字典,像我们以前的高考时填写的区位码,就是知道横纵坐标后就能查到值,这就是

unicode,但 unicode

本身是多字节支持的编码方案,由于多个字节在网络上传输或保存到磁盘上是按一个字节一个字节来保存的,这就存在先保存字节还是低字节的问题还有一个问题是

一直使用字节数来编码字符还是变长字节来编码字节(比如为了兼容性,单字节依然是一个字节保存,其它常见自然语言的字符用双字节,很少见的冷僻字用多字节

编码)这也需要让程序知道哪个字节是分隔点(哪几个字节凑在一起是一个字符),因此有多个编码成字节的方案,比如 UTF-8, UTF-16

之类的,UTF-8 就是变长字节方案,它们都是用一个方法来编码 unicode code point。

至于什么叫 UTF-8

(ASCII 编辑) 这可能你得自己试一下,编辑保存之后,用notepad 打开或 java FileInputStream

按字节读取来观察一下它与 Unicode 编辑有什么不同。Windows 上的 notepad 记事本本身只支持 ANSI,也就是 ASCII

编辑,就是说把内部编码直接当成 ASCII

字节,不对字节做任何转换编码处理,所以当两个汉字4个字节放在一起,我通过程序删除第2个字节的话,你会发现全成了乱码,因为程序会假设 1 + 3

凑在一起是一个汉字,最后一个4单独成一个汉字,所以都是错误的。而 UTF-8

之类的有一套编码规则,或许能推测出这个数据本身有错误,当通过网络传输时我们就能识别出传输过程中是否有错误发生。

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)