栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【附章5计算机字符编码】多种字符编码集的说明

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【附章5计算机字符编码】多种字符编码集的说明

❤写在前面
❤博客主页:努力的小鳴人
❤系列专栏:JavaSE超详总结
❤欢迎小伙伴们,点赞关注收藏一起学习!
❤如有错误的地方,还请小伙伴们指正!

系列传送门
【11章Java泛型】全面解读Java泛型【热榜】
【10章Java集合】几张脑图带你进入Java集合的头脑风暴
【09章Java注解】让你全面认识这未来潜力巨大的「注解」【热榜】
【08章Java枚举类】简单易懂的enum【热榜】
【07章Java常用类】盘点 Java常用类【热榜】

文章目录

一、基础知识二、ASCII三、ISO8859-1四、GB2312五、GBK六、Unicode七、UTF-8


一、基础知识
    位 bit 最小的单元
    字节 byte 机器语言的单位 1byte=8bits
    1KB=1024byte
    1MB=1024KB
    1GB=1024MB二进制 binary
    八进制 octal
    十进制 decimal
    十六进制 hex●字符:是各种文字和符号的总称,包括各个国家的文字,标点符号,图形符号,数字等。
    ●字符集:字符集是多个符号的集合,每个字符集包含的字符个数不同。
    ●字符编码:字符集只是规定了有哪些字符,而最终决定采用哪些字符,每一个字符用多少字节
    表示等问题,则是由编码来决定的。计算机要准确的处理各种字符集文字,需要进行字符编码,
    以便计算机能够识别和存储各种文字。
二、ASCII

American Standard Code for Information Interchange
美国标准信息交换代码
用一个字节的7位可以表示

美国国家标准协会 ANSI 制定的一个标准,规定了常用字符的集合以及每个字符对应的编号,这就是 ASCII 字符集

    是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,它是现今最通用的单字节编码系统0到31及127(共33个)是控制字符或通信专用字符(其余为可显示字符)
    32到126(共95个)是字符(32是空格),其中48到57为0到9十个阿拉伯数字
    65到90为26个大写英文字母
    97到122号为26个小写英文字母
    其余为一些标点符号、运算符号

    ASCII是美国标准,它不能良好满足其它讲英语国家的需要
三、ISO8859-1

拉丁码表。欧洲码表

单字节编码

    向下兼容ASCII
    其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号ISO-8859-1收录的字符除ASCII收录的字符外,还包括西欧语言、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号ASCII编码是一个7位的容器,ISO-8859-1编码是一个8位的容器因ISO-8859-1编码范围使用了单字节内的所有空间,在支持ISO-8859-1的系统中传输和存储其他任何编码的字节流都不会被抛弃,换言之,把其他任何编码的字节流当作ISO-8859-1编码看待都没有问题
四、GB2312

信息交换用汉字编码字符集

    中国的中文编码表:最多两个字节编码所有字符收录六千七百六十三个汉字,其中一级汉字三千七百五十五个,二级汉字三千零八个适用于汉字处理、汉字通信等系统之间的信息交换,通行于中国大陆信息交换用汉字编码字符集和汉字输入编码之间的关系是,根据不同的汉字输入方法,通过必要的设备向计算机输入汉字的编码,计算机接收之后,先转换成信息交换用汉字编码字符,这时计算机就可以识别并进行处理汉字输出是先把机内码转成汉字编码,再发送到输出设备
五、GBK

信息交换用汉字编码字符集--基本集
Chinese Internal Code Specification

    中国的中文编码表升级,融合了更多的中文文字符号:最多两个字节编码GBK编码标准兼容GB2312,共收录汉字21003个、符号883个,并提供1894个造字码位,简、繁体字融于一库GBK码对字库中偏移量的计算公式为:
    [(GBKH-0xB0)0x5E+(GBKL-0xA1)](汉字离散后每个汉字点阵所占用的字节)所有字符包括在a1到a9中a1到fe的部分及a8,a9中40~a0的部分,包括标点符号、数学符号、数字序号、全角数字字母、日文平假名、片假名、希腊字母、俄文字母、图形符号、制表符、拼音、注音符号等
六、Unicode

国际标准码
所有的文字都用两个字节来表示

    Unicode是计算机科学领域里的一项业界标准,包括字符集、编码方案等为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求目前的Unicode字符分为17组编排,0x0000至0x10FFFF,每组称为平面(Plane),而每平面拥有65536个码位,共1114112个。然而目前只用了少数平面。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案

传送门 >>> Unicode字符列表

七、UTF-8
    UTF-8以字节为单位对Unicode进行编码。从Unicode到UTF-8的编码方式 如下:
    特点是对不同范围的字符使用不同长度的编码。对于0x00-0x7F之间的字符,UTF-8编码与ASCII编码完全相同变长的编码方式,可用1-4个字节来表示一个字符例1:"汉"字的Unicode编码是0x6C49
    0x6C49在0x0800-0xFFFF之间,使用3字节模板:1110xxxx 10xxxxxx 10xxxxxx
    将0x6C49写成二进制是:0110 1100 0100 1001, 用这个比特流依次代替模板中的x
    得到:11100110 10110001 10001001,即E6 B1 89

总结:多种字符编码集的说明了解了解心中有数嘿嘿
 作者算是一名Java初学者,文章如有错误,欢迎评论私信指正,一起学习~~
如果文章对小伙伴们来说有用的话,点赞关注收藏就是我的最大动力!
不积跬步,无以至千里书接下回,欢迎再见

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/720813.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号