常见文本编码方式与网络编码方式小结


一、如何检测utf8的字符数量

1. utf8变长编码格式

  • 一字节 0*******
  • 二字节 110*****,10******
  • 三字节:1110****,10******
  • 四字节:11110***,10******
  • 五字节:111110**,10******
  • 六字节:1111110*,10******

- 单字节编码首字节以0开头,n字节编码以n个1和一个0开头(0是前缀码的终结标志)
- 除单字节编码以外的其他编码方式,后续字节均以10开头(用于区别单字节编码以及多字节编码的首字节)

由此可通过不同的编码前缀判断该字节是单字节还是多字节编码方式,从而得出utf8编码的字符串的数量

二、常见中文编码方式

1. Unicode编码

- Unicode编码通常由两个字节组成,称作USC-2,个别偏僻字由四个字节组成,称作USC-4。前127个还表示原来ASCII码里的字符,只不过由一个字节变成了两个字节。

- 优点:可以囊括多国语言,囊括了常用汉字

- 不足:表示一个英文字符由一个字节变成了两个,浪费存储空间和传输速度。生僻字表示不足

2. UTF-8编码

- UTF-8俗称“万国码”,可以同屏显示多语种,一个汉字通常占用3字节(生僻字占6个)

- Unicode编码的一种,Unicode用一些基本的保留字符制定了三套编码方式,它们分别为UTF-8,UTF-16,UTF-32.在UTF-8中,字符是以8位序列来编码的,用一个或几个字节来表示一个字符

- 最大好处是UTF-8保留了ASCII字符的编码作为它的一部分

3. GB2312编码

- GB2312简体中文编码,最早一版中文编码,一个汉字占用2个字节,在大陆是主要的编码方式。当文章/网页中包含繁体中文、日文、韩文等时,这些内容可能无法被正确编码。

- 作用:国家简体中文字符集,兼容ASCII

- 位数:使用2个字节表示,能表示7445个符号,包括6763个汉字,几乎覆盖所有高频率汉字。

- 范围:高字节从A1-A7,低字节从A1到FE。将高字节和低字节分别加上0xA0即可得到编码。

4. BIG5编码

- 称为繁体中文编码,主要在台湾地区使用。

5. GBK编码

- 作用:它是GB2312的扩展,加入对繁体字的支持,兼容GB2312.

- 位数:使用2个字节表示,可表示21886个字符。

- 范围:高字节从81到FE,低字节从40到FE.

6. GB18030编码

- 作用:它解决了中文、日文、朝鲜语等的编码,兼容GBK。

- 位数:它采用变字节表示(1ASCII, 2,4字节)。可表示27484个文字。

- 范围:1字节从00到7F;2字节高字节从81到FE,低字节从40到7E和80到FE;4字节第一三字节从81到FE,第二四字节从30到39.

三、常见网络编码方式

1. 非归零码

- 用两个电压代表两个二进制数字
- 优点: 容易实现
- 缺点: 没有检错功能,而且无法判断一个码元的开始和结束,以至于收发双方难以保持同步

2. 曼彻斯特编码

- 将一个码元分成两个相等的间隔,前一个间隔为高电平后一个间隔为低电平便是码元1,前一个间隔为低电平后一个间隔为高电平则为码元0
- 特点:在每一个码元的中间出现电平跳变,位中间的跳变即作时钟信号(可用作同步),又作数据信号,但它所占的频带宽度是原始的寄到宽度的两倍

3. 差分曼彻斯特编码

- 若码元为1, 则前半个码元的电平与上一个码元的后半个码元的电平相同,若为0则相反
- 特点: 在每个码元的中间,都有一次电平的跳转,可以实现自同步,且干扰性较好
- 常用于局域网传输

四、前端国际化方式

1、 I18N -----Internationalization缩写【国际化】

- 使产品或软件具有不同国际市场的普遍适应性
- 无需重新设计就可适应多种语言和文化习俗

解决I18N问题的三种思路
1、为每个页面提供每种语言的相关页面
2、把内容从表现形式中分离出来,做成不同语言的内容文件
3、动态翻译页面内容(机器翻译技术难以达到人们的预期)

2、G11N -----Globalization的缩写【全球化】

- 使产品或软件进入全球市场而进行的有关商务活动
- 包括正确的国际化设计,本地化集成,以及在全球市场进行的市场推广、销售和支持的全部过程

3、L10N -----Localization的缩写【本地化】

- 将产品或软件针对特定国际语言和文化进行加工,使之符合特定区域市场的过程
- 要考虑目标区域市场的语言、文化、习俗、特征和标准
- 通常包括改变软件的书写系统(输入法)、键盘使用、字体、日期、时间和货币格式等
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值