python编码处理:unicode字节串转成中文 各种字符串举例说明

编码问题一直是很头痛的问题:

当字符串是:‘\u4e2d\u56fd‘

>>>s=[‘\u4e2d\u56fd‘,‘\u6e05\u534e\u5927\u5b66‘]
>>>str=s[0].decode(‘unicode_escape‘)  #.encode("EUC_KR")
>>>print str

中国

当字符串是:‘ 东亚学团一中‘

>>>print unichr(19996)

ord()支持unicode,可以显示特定字符的unicode号码,如:

>>>print ord(‘A‘)
65

只要和Unicode连接,就会产生Unicode字串。如:

>>> ‘help‘
‘help‘
>>> ‘help,‘ + u‘python‘
u‘help,python‘

对于ASCII(7位)兼容的字串,可和内置的str()函数把Unicode字串转换成ASCII字串。如:

>>> str(u‘hello world‘)
‘hello world‘

对几个概念的理解:

ASCII码:    用数据字 对应 相应的字符

而中文 就是区位码对应汉字    如:“好” 的ASCII码为: 22909

unicode 编码 每个国家分一块。   它有UTF-8、UTF-16、UTF-32等形式

中文范围 4E00-9FBF:  这个范围内有 gbk,gb2312,

utf-8是基于unicode的 国际化的场合适合使用 
gb2312和gb2312都是国标码 出现的较早 主要用于编解码常用汉字

时间: 2024-09-29 03:26:17

python编码处理:unicode字节串转成中文 各种字符串举例说明的相关文章

python unicode字节串转成中文问题

如题,其实我的问题很简单,就是在写爬虫的时候拿到网页的信息包含类似“\u65b0\u6d6a\u5fae\u535a\u6ce8\u518c”的字符串,实际上这是unicode的中文编码,对应的中文为“新浪微博注册”.其实我就是想找一个函数让这一串东西显示中文而已,没想到百度了白天找到合适的.遇到这种问题千万不要用什么 “python编码” “unicode中文编码” “unicode解码”这样的关键字去搜,一大堆网页出来毫不相关.      其实这个问题一个函数搞定,如下:Example 1:

将UTF8编码的3字节中英文转成2字节中英文.

1. 首先要考虑将String转成一个bytes的数组, 每个汉字是3个bytes, 英文或者标点是1个byte. 2. 然后去判断一下每一个byte的前面几个bit, 看下面的表, 1个byte的字符, 就是英文跟标点, 它的第1个bit是0; 3. 重点是3个bytes的字符, 就是汉字, 或者说CJK, 它的第1个byte的前面4个bit, 是1110, 那么我们可以根据这个来判断.看起来好像下面的代码, 居然是java跟oc可以共用的  :) if((bytes[i]>>4)==0x0

C# 根据字节长度截包含中文的字符串

方法中利用正则表达式判断某个字符是否是中文 public string SubStringB(string text,int length){ int target=0; int b=0; for(int i=0;i<text.Length;i++){ var check=Regex.IsMatch(text[i].ToString(),@"[\u4e00-\u9fbb]$"); var temp=check?2:1; if(b+temp>length){ target=i

ParisGabriel:Python全栈工程师(0基础到精通)教程 第二十二课(迭代器、字节串)

ParisGabriel 每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰 Python人工智能从入门到精通 迭代器 Iterator: 用<>括号表示的一定是对象 什么是迭代器? 迭代器是访问可迭代对象的工具 迭代器是指用iter(obj) 函数返回的对象(实例) 迭代器可以用next(it) 函数获取可迭代对象的数据 迭代器函数iter和next iter(iterable) 从可迭代对象中返回一个迭代器,iterable 必须是能提供一个迭代器的对象 next(iterator

jmeter响应信息unicode 编码转成中文

在jmeter 发送请求过程中,有时候后台返回的是unicode 代码,如: {"status":-1,"msg":"\u63d0\u4ea4\u6570\u636e\u4e0d\u8db3"} 手动转换成中文为: {"status":-1,"msg":"提交数据不足"} 需要使用jmeter 把响应内容转换成中文显示,方便查看.思路是使用bean shell 把unicode响应结果转

Python编码与解码

一.什么是编码 编码是指信息从一种形式或格式转换为另一种形式或格式的过程. 在计算机中,编码,简而言之,就是将人能够读懂的信息(通常称为明文)转换为计算机能够读懂的信息.众所周知,计算机能够读懂的是高低电平,也就是二进制位(0,1组合). 而解码,就是指将计算机的能够读懂的信息转换为人能够读懂的信息. 二. 编码的发展渊源 之前的博客中已经提过,由于计算机最早在美国发明和使用,所以一开始人们使用的是ASCII编码.ASCII编码占用1个字节,8个二进制位,最多能够表示2**8=256个字符. 随

PYTHON编码处理-str与Unicode的区别

一篇关于str和Unicode的好文章 整理下python编码相关的内容 注意: 以下讨论为Python2.x版本, Py3k的待尝试 开始 用python处理中文时,读取文件或消息,http参数等等 一运行,发现乱码(字符串处理,读写文件,print) 然后,大多数人的做法是,调用encode/decode进行调试,并没有明确思考为何出现乱码 所以调试时最常出现的错误 错误1 Traceback (most recent call last): File "<stdin>"

Python3的unicode编码转换成中文问题

Python3的unicode编码转换成中文问题 从别的地方搬过来的,担心以后不容易搜索到,就收集过来. 我当时面临的问题是要从C++发json代码出来,用python写了个server,然后返回给C++程序,结果收到的是:httpSvrDataCbUser: {"tranNO": "0808ad498670dc996", "data": "\u65b0A1EY16", "ver": "1.0&q

python常用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)

进行协议解析时,总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 废话不多上,直接上例子 整数之间的进制转换: 10进制转16进制: hex(16)  ==>  0x10 16进制转10进制: int('0x10', 16)  ==>  16 类似的还有oct(), bin() ------------------- 字符串转整数: 10进制字符串: int('10')  ==>  10 16进制字符串: int('10', 16)  ==>  16 16进