Unicode
来源:互联网 发布:凯立德端口波特率检测 编辑:程序博客网 时间:2024/05/17 22:41
unicode开始制订时,计算机的存储器容量极大地发展了,空间再也不成为问题了。于是 ISO 就直接规定必须用两个字节(也就是16位)来统一表示所有的字符,对于ASCII里的那些“半角”字符,unicode包持其原编码不变,只是将其长度由原来的8位扩展为16位,而其他文化和语言的字符则全部重新统一编码。由于”半角”英文符号只需要用到低8位,所以其高8位永远是0,因此这种大气的方案在保存英文文本时会多浪费一倍的空间。
这时候,从旧社会里走过来的程序员开始发现一个奇怪的现象:他们的strlen函数靠不住了,一个汉字不再是相当于两个字符了,而是一个!是的,从unicode开始,无论是半角的英文字母,还是全角的汉字,它们都是统一的”一个字符“!同时,也都是统一的”两个字节“。
请注意”字符”和”字节”两个术语的不同。“字节”是一个8位的物理存贮单元,而“字符”则是一个文化相关的符号。在unicode中,一个字符就是两个字节。一个汉字算两个英文字符的时代已经快过去了。
作者:于洋
链接:https://www.zhihu.com/question/23374078/answer/69732605
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
0 0
- Unicode
- Unicode
- unicode
- Unicode
- Unicode
- Unicode
- unicode
- UNICODE
- unicode
- Unicode
- unicode
- Unicode
- Unicode
- Unicode
- Unicode
- Unicode
- Unicode
- Unicode
- linux 环境搭建solr5.5.4搜索服务
- Nicescroll滚动条插件的用法
- 多线程的应用场景
- Java文件流
- 给定按升序排序的整数数组,找到给定目标值的起始和终止位置。 您的算法的运行时复杂度必须是O(log n)的顺序。
- Unicode
- Android自定义动画酷炫的提交按钮
- Oracle 临时表空间管理
- mybatis+mysql带模糊查询的分页代码
- 基于 react-native+redux 开发的高仿 V2EX 客户端
- 欢迎使用CSDN-markdown编辑器
- springmvc+mybatis+mysl+log4j+jxls实现sql完整输出和excel导出
- 进程间通信——共享内存
- hiho #1041 : 国庆出游