python 如何将收到的字符串中的编码部分显示为中文
2017-03-22 15:27
477 查看
收到一个字符串,中间的中文是以UTF-8编码形式传过来的,收到的数据是这样的:。
{"info":"\u767b\u5f55\u6210\u529f","status":1,"url":"\/host\/Index\/index.html"}
这个还不是json,而是字符串数据类型。这个中间部分‘'\u767b\u5f55\u6210\u529f' 是uft-8的,但传来的是ascii码形式。在网上查了半天也没有找到一个可以直接将其显示为中文的方法,最后是用了个本方法来处理的,
思路如下,
1.先将字符串进行处理UTF-8 处理的形式是u'\u....\u....' 需要将字符串的双引号进行替换并在前面加‘u’ 使用replace()进行替换成如下形式:
{'info':u'\u767b\u5f55\u6210\u529f','status':1,'url':'\/host\/Index\/index.html'}
2.将其转换为字典形式,这个时候单独读数据的时候已经是中文了,使用eval方法转换成字典格式
3.将其变为json格式,可以整个一条数据读出来都是中文了 使用dumps()将其变为json格式
ttt= result.read() #读过来的字符串
tt2= ttt.replace('\"','\'')
tt3= tt2.replace('\'\\u','u\'\\u') #通过两次替换将其变成可以解码的形式
tt4=eval(tt3) #变成字典形式
tt5=json.dumps(tt4,ensure_ascii=False) #变成json形式
print tt 5
#最后打印成:
{"info": "登录成功", "status": 1, "url": "\\/host\\/Index\\/index.html"}
感觉应该有成熟的处理方式啊,这个是走了弯路的......
{"info":"\u767b\u5f55\u6210\u529f","status":1,"url":"\/host\/Index\/index.html"}
这个还不是json,而是字符串数据类型。这个中间部分‘'\u767b\u5f55\u6210\u529f' 是uft-8的,但传来的是ascii码形式。在网上查了半天也没有找到一个可以直接将其显示为中文的方法,最后是用了个本方法来处理的,
思路如下,
1.先将字符串进行处理UTF-8 处理的形式是u'\u....\u....' 需要将字符串的双引号进行替换并在前面加‘u’ 使用replace()进行替换成如下形式:
{'info':u'\u767b\u5f55\u6210\u529f','status':1,'url':'\/host\/Index\/index.html'}
2.将其转换为字典形式,这个时候单独读数据的时候已经是中文了,使用eval方法转换成字典格式
3.将其变为json格式,可以整个一条数据读出来都是中文了 使用dumps()将其变为json格式
ttt= result.read() #读过来的字符串
tt2= ttt.replace('\"','\'')
tt3= tt2.replace('\'\\u','u\'\\u') #通过两次替换将其变成可以解码的形式
tt4=eval(tt3) #变成字典形式
tt5=json.dumps(tt4,ensure_ascii=False) #变成json形式
print tt 5
#最后打印成:
{"info": "登录成功", "status": 1, "url": "\\/host\\/Index\\/index.html"}
感觉应该有成熟的处理方式啊,这个是走了弯路的......
相关文章推荐
- python2学习之如何将Unicode中文字符串显示出来
- utf-8编码的中文字符在source in sight如何正常显示
- Python字符串的中文编码
- 黄聪:python控制台无法正常显示中文字符串解决方法
- python 处理中文遇到的编码问题总结 以及 字符str的编码如何判断
- java中如何从字符串中删选中文字符(GBK编码和UTF-8编码)
- Flex 3中如何显示被存储为Base64编码字符串的图片的例子
- python中文字符串数组编码的问题
- python-Django如何显示中文界面(七)
- Python中文编码问题(字符串前面加'u')
- python2.7.x的字符串编码到底什么鬼?(中文和英文的处理)
- python中文字符串编码处理
- 如何根据字节流内容确定汉字编码,从而解决相同App在部分省份显示乱码的问题
- [python] 如何将unicode字符串转换为中文
- 回复:String中如果有中文,如何保证length()返回的长度 在 Java 中字符串是以 Unicode 方式编码的,所以,无论中英文都算的长度为 1。根据你的描述,估计是想要取得英文长度为 1 中文长度为 2 的总长度吧。这个,理论上可以构造 An
- 请问Eclipse中源码的中文部分都显示成乱码如何解决
- source-insight中文:utf-8编码的中文字符在source in sight如何正常显示
- 菜鸟遇到的问题:LCD显示中文遇到问题-->关于字符串的编码方式
- 字符串类型html如何显示出html效果,字符串中的转义符以html效果显示出来,html编码, HtmlHelper.Raw()
- 【编码】Python2.x的中文显示方法