从ord()中对Unicode编码的理解
刚开始学习编程的时候,老对字符串编码的理解模模糊糊。也一直看这方便的资料,今天在看Dive in python时,突然有了新的理解(不知道是否正确)。
Python有个built-in函数ord(),返回一个字符的unicode值。这个函数并没有其他参数,那就是说,给定一个字符,就会有一个特定值对应。跟具体编码(utf-8,utf-16,gb2312)无关。
我之前错误的理解是:每套编码都有自己的对应表。
现在看来,unicode标准囊括了世界上所有的字符,每个字符都有对应的unicode值。
我所谓的编码,比如utf8, utf16, gb2312等等,其实只是在保存到磁盘或者通过网络传输时,序列化成二进制的方式而已,跟字符的unicode值毫无关系。
utf-32用4字节保存一个字符,虽然浪费空间,但是从二进制解析(decode)成字符的时候,速度肯定比utf8快,因为每四个字节表示一个字符,在一个流中查找特定位置的字符肯定要快, O(1)。
utf-8变长保存,虽然节省了空间,但是查找特定位置字符比较困难,时间效率是O(n)
从ord()中对Unicode编码的理解的更多相关文章
- C#中文和UNICODE编码转换
C#中文和UNICODE编码转换 //中文轉為UNICODE string str = "中文"; string outStr = ""; if (!strin ...
- String 字符串中含有 Unicode 编码时,转为UTF-8
1.单纯的Unicode 转码 String a = "\u53ef\u4ee5\u6ce8\u518c"; a = new String(a.getBytes("UTF ...
- Python中的Unicode编码和UTF-8编码
下午看廖雪峰的Python2.7教程,看到 字符串和编码 一节,有一点感受,结合崔庆才的Python博客 ,把这种感受记录下来: ASCII码:是用一个字节(8bit, 0-255)中的127个字母表 ...
- java中文和unicode编码相互转换(转)
工具类代码如下: package aa.com; import java.io.UnsupportedEncodingException; public class UnicodeUtil { pub ...
- 常见中文字体在CSS中的Unicode编码(宋体:\5B8B\4F53)
对于一个从事网页设计(也常说成DIV+CSS)的朋友来说,可能会遇到过这样的问题,就是在CSS里像这样设置某对象的字体:font-family:1.5em/1.75,’黑体’,Arial; 结果有些时 ...
- Eclipse的application.properties文件输出中文成unicode编码
今天添application.properties时,无法输入中文,输入的中文直接变成了unicode的编码形式.原因是Eclipse的Spring Properties文件的默认编码为iso-885 ...
- Eclipse的.properties文件输出中文成unicode编码
今天添加log4j.properties时,无法输入中文,输入的中文直接变成了unicode的编码形式.原因是Eclipse的.properties文件的默认编码为iso-8859-1. 选择Wind ...
- python读取在文件中以unicode编码方式转成中文
row='\u4E09\u56FD\u6F14\u4E49' eval("u"+"\'"+row+"\'")
- 【转】javascript和html中unicode编码和字符转义的详解
不是十分理解unicode和html转义的情况下,可能会误用,所以下面会对它们再做比较容易理解的解释: 1.html中的转义:在html中如果遇到转义字符(如“ ”),不管你的页面字符编码是utf-8 ...
随机推荐
- Oracle交易流水号问题
需求:生成交易流水号,每次新增一条记录时都自动加1,且流水号形式为000000001形式的10位数字. 思路:利用序列可以生成自增的流水号,只需要在前面添加N个0即可,同时,由于数字的长度一定,因此可 ...
- CSS3 速移动效果动画流畅无卡顿
js或jquery 元素移动以像素计算,手机上移动效果会有卡顿 利用CSS3 可以很简单的实现流畅的移动动画 transform: translate3d(66px, 88px, 0px) rotat ...
- [译]C#编码约定
原文:https://msdn.microsoft.com/en-us/library/ff926074.aspx 编码约定的目的是: 创建统一格式的代码,让读者的注意力更集中在内容上面,而不是结构 ...
- AngularJS2.0 教程系列(一)
http://my.oschina.net/u/2275217/blog/482178
- GSM07.10协议中串口复用使用的校验算法
] = { 0x00, 0x91, 0xE3, 0x72, 0x07, 0x96, 0xE4, 0x75, 0x0E, 0x9F, 0xED, 0x7C, 0x09, 0x98, 0xEA, 0x7B ...
- html meta标签属性与内容
meta是html语言head区的一个辅助性标签.也许你认为这些代码可有可无.其实如果你能够用好meta标签,会给你带来意想不到的效果,meta标签的作用有:搜索引擎优化(SEO),定义页面使用语言, ...
- excel to datatable (c#用NPOI将excel文件内容读取到datatable数据表中)
将excel文件内容读取到datatable数据表中,支持97-2003和2007两种版本的excel 1.第一种是根据excel文件路径读取excel并返回datatable /// <sum ...
- Tomcat 内存优化设置
vi /tomcat7.0/bin/catalina.sh 开发环境 #!/bin/sh JAVA_OPTS='-Xms128m -Xmx512m -XX:PermSize=128m' 服务器: #! ...
- 小明的密码-初级DP解法
#include #include #include using namespace std; int visited[5][20][9009];// 访问情况 int dp[5][20][9009] ...
- windows 平台 php_Imagick 拓展遇到的那些坑!
我的php环境是使用了phpstudy 下载地址:http://www.phpstudy.net/a.php/211.html 最终并未解决问题 持续更新~ 1.首先到官网上 http://www.i ...