|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 wp231957 于 2020-3-8 11:11 编辑
一、unicode 转str
- s="\u5e7402\u670809\u65e5"
- print(s.encode(encoding="utf-8").decode(encoding="utf-8"))
- #年02月09日
- title="\u519c\u6751\u91cc\u8fd9\u4e09\u4e2a\u8d26\u8981\u6e05\u4e86\uff0c\u5168\u90e8\u90fd\u8981\u4e25\u67e5\uff0c\u548c\u6bcf\u4e2a\u519c\u6751\u4eba\u90fd\u6709\u5173\u7cfb"
- print(title.encode(encoding="utf-8").decode(encoding="utf-8"))
- #农村里这三个账要清了,全部都要严查,和每个农村人都有关系
- title="\u4e16\u754c\u6700\u201c\u7a00\u6709\u201d\u7684\u7329\u7329\uff0c\u5168\u8eab\u4e0d\u957f\u4e00\u6839\u6bdb\u53d1\uff0c\u5973\u6e38\u5ba2\uff1a\u770b\u4e86\u771f\u662f\u5c34\u5c2c"
- print(title.encode(encoding="utf-8").decode(encoding="utf-8"))
- #世界最“稀有”的猩猩,全身不长一根毛发,女游客:看了真是尴尬
复制代码
二、反向转换呢 str转unicode 当然也能实现了
- title="世界最“稀有”的猩猩,全身不长一根毛发,女游客:看了真是尴尬"
- print(title.encode("unicode_escape"))
- #b'\\u4e16\\u754c\\u6700\\u201c\\u7a00\\u6709\\u201d\\u7684\\u7329\\u7329\\uff0c\
- # \u5168\\u8eab\\u4e0d\\u957f\\u4e00\\u6839\\u6bdb\\u53d1\\uff0c\\u5973\\u6e38\\u5ba2
- # \\uff1a\\u770b\\u4e86\\u771f\\u662f\\u5c34\\u5c2c'
- #原来这是一个<class 'bytes'>
复制代码
三、关于 str unicode bytes 补充几个测试
- t="中华人民共和国"
- print(t.encode("unicode_escape"))
- # 输出:b'\\u4e2d\\u534e\\u4eba\\u6c11\\u5171\\u548c\\u56fd'
- print(t.encode("utf-8"))
- #输出:b'\xe4\xb8\xad\xe5\x8d\x8e\xe4\xba\xba\xe6\xb0\x91\xe5\x85\xb1\xe5\x92\x8c\xe5\x9b\xbd'
- x=b'\xe4\xb8\xad\xe5\x8d\x8e\xe4\xba\xba\xe6\xb0\x91\xe5\x85\xb1\xe5\x92\x8c\xe5\x9b\xbd'
- print(x.decode(encoding="utf-8"))
- #输出:中华人民共和国
- s='\u4e2d\u534e\u4eba\u6c11\u5171\u548c\u56fd'
- print(s.encode(encoding="utf-8").decode(encoding="utf-8"))
- #输出:中华人民共和国
- s=b'\u4e2d\u534e\u4eba\u6c11\u5171\u548c\u56fd'
- print(s.decode(encoding="unicode_escape"))
- #输出:中华人民共和国
- s='\\u4e2d\\u534e\\u4eba\\u6c11\\u5171\\u548c\\u56fd'
- print(s.encode(encoding="utf-8").decode(encoding="utf-8"))
- #输出:\u4e2d\u534e\u4eba\u6c11\u5171\u548c\u56fd
- s='\\u4e2d\\u534e\\u4eba\\u6c11\\u5171\\u548c\\u56fd'
- print(s.encode(encoding="utf-8").decode(encoding="unicode_escape"))
- #输出:中华人民共和国
- s=b'\\u4e2d\\u534e\\u4eba\\u6c11\\u5171\\u548c\\u56fd'
- print(s.decode(encoding="unicode_escape"))
- #输出:中华人民共和国
复制代码
四、相信大家对于类似%5B%22sc%22%2C%22hd%22%5D%7B 这样的串串不陌生吧
下面贴出解码。这个串串的编码相对就简单了一些,就不贴测试了,对 把unquote的前缀去掉就可以了
# 浏览器地址栏中的参数的转码
# javascript代码
# list="%5B%22sc%22%2C%22hd%22%5D%7B";
# console.log(unescape(list));
- import urllib.request
- s="%5B%22sc%22%2C%22hd%22%5D%7B"
- sz=urllib.parse.unquote(s)
- print(sz)
- #实测,和js代码返回结果一致
- #["sc","hd"]{
- #好吧,本来就不想使用urllib这个库呢,那么requests里是否有quote/unquote呢
- import requests
- s="%5B%22sc%22%2C%22hd%22%5D%7B"
- sz=requests.utils.unquote(s)
- print(sz)
- #实测,和urlib.parse返回结果一致
- #["sc","hd"]{
复制代码 |
|