十六进制字符串转UNICODE 和 互转

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了十六进制字符串转UNICODE 和 互转相关的知识,希望对你有一定的参考价值。

s ="\u6d66\u53d1\u94f6\u884c", 是一个十六进制的字符串, 相当于是把一个unicode串的十六进制形式转成了字符串形式, 请教如何这两种类型如何互转

参考技术A 如果是要这个转成ASCII的话
答案是
=0
参考技术B 这种str转unicode:

>>> s ="\u6d66\u53d1\u94f6\u884c"
>>> s.decode('unicode_escape')
u'\u6d66\u53d1\u94f6\u884c'
>>> print s.decode('unicode_escape')
浦发银行
>>>

相反的自己应该可以猜到吧:
u'浦发银行'.encode('unicode_escape')本回答被提问者采纳

python编码类型互转总结

1、只有在unicode下才能将utf-8与gbk互转
2、unicode是在内存中使用,bytes是文件存储和网络传输时使用
------------------------------------------------------------
py3时:
a="中国" 和a=u"中国" 是一个意思,都表示str类型unicode存储类型,即默认是unicode存储类型
c=b"中国" 表示str类型bytes存储类型

py2时:
a="中国" 和a=b"中国" 是一个意思,表示str类型bytes存储类型,即默认是bytes存储类型
a=u"中国" 表示str类型unicode存储类型


转换:
------------------------------------------------------------------------py3
py3时:
unicode 类型--- encode ---> bytes 类型
示例:
s1="hello world !" //s1表示str类型unicode存在类型
type(s1)
s2=s1.encode("utf-8") //表示把s1转换成str类型bytes存在类型,并赋值给s2
或s2=s1.encode("gbk") //表示把s1转换成str类型bytes存在类型,并赋值给s2
type(s1)
type(s2)
print (s2)

技术分享图片

 

--------------------------------------------------------py2
py2时:


bytes 类型--- decode ---> unicode 类型
s1=b"love" // s1表示str类型bytes存在类型
type(s1)
s2=s1.decode("utf-8") // 表示把s1转换成str类型unicode存在类型,并赋值给s2
或s2=s1.decode("gbk") // 表示把s1转换成str类型unicode存在类型,并赋值给s2
type(s1)
type(s2)
print (s2)

技术分享图片

 





























以上是关于十六进制字符串转UNICODE 和 互转的主要内容,如果未能解决你的问题,请参考以下文章

python3 Unicode字符与16进制编码互转(单个字符)

JS 中文 UTF-8编码互转

python3 汉字转十六进制unicode

C#编程 10进制和26进制互转

进制之间互转

C# 字节数组各进制字符串数据互转