编码(encode)问题
2024-08-25 07:33:38
1. UTF-8 与 GBK
UTF-8:
- 允许含 BOM,但通常不含 BOM
- 用以解决国际上字符的一种多字节编码,
- 英文:8 bits(1 byte)
- 中文:24 bits(3 bytes)
- UTF-8 包含了世界上所有国家需要用到的字符,是国际编码,通用性强;
- 使用 UTF-8 编码的文本可以在各国支持 UTF-8 字符集的浏览器上显示,
- 如果使用的是 UTF-8,则外国人的英文 IE 上也能显示中文,无需下载 IE 的中文语言支持包;
GBK
- 国家标准 GB2312 基础上扩容后兼容 GB2312 的标准。
- GBK 的文字编码使用双字节。即不论中英,均使用双字节,
- 为了区分中文,将其最高为都设为 1,
- GBK 支持所有中文,是国家标准(GB:国标),通用性不如 UTF-8,不过显然 UTF-8 占用的数据库比 GBK 要大,不符合中国国情;
2. 解码歧义与前缀无歧义编码
编码方案确定后,尽管编码结果必然确定,但解码过程和结果却不见得唯一。
解码算法一般采用,按顺序对信息比特流做子串匹配的策略,因此为了消除匹配的歧义性,任意两个原始字符所对应的二进制编码串,相互都不得是前缀。
反过来,只要个字符的编码串互不为前缀,则即便出现无法解码的错误,也绝对不致歧义。这类编码就是所谓的“前缀无歧义编码”(prefix-free code),简称 PFC 编码。
最新文章
- Azure ARM (4) 开始创建ARM Resource Group并创建存储账户
- confluence安装
- (转) Deep Reinforcement Learning: Playing a Racing Game
- javaweb学习总结(二十四)——jsp传统标签开发
- jsp页面 直接从地址栏中 获取 参数的方法
- dede模版列表调用文章正文内容的方法
- jeecms子栏目或者文章页导航父栏目选中解决方法
- 【转载】mysqldump的single-transaction和master-data
- BZOJ 1143: [CTSC2008]祭祀river 最大独立集
- hdoj 1465 不容易系列之一
- Linux命令:scp命令(文件上传和下载)
- DB2数据库实例创建与删除 学习笔记
- Java的演化-Java8实战笔记
- Open Source BI Platform List
- (三)SpringBoot基础篇- 持久层,jdbcTemplate和JpaRespository
- 《jmeter:菜鸟入门到进阶》系列
- dockerfile编辑时常用的sed命令,用来修改配置文件。
- Eclipse 新建 Maven web 项目
- NET操作RabbitMQ组件EasyNetQ
- EF性能优化