print "4-12\u4e2a\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e0b\u5212\u7ebf".decode('base64')#no
感谢
和
如果我有'4-12个英文字母,数字和下划线'
我怎样才能得到字符串'4-12 \ u4e2a \ u82f1 \ u6587 \ u5b57 \ u6bcd \ u3001 \ u6570 \ u5b57 \ u548c \ u4e0b \ u5212 \ u7ebf'
是
print '4-12个英文字母、数字和下划线'.decode('what')#
我写道:
print u'4-12个英文字母、数字和下划线'.encode('unicode-escape')
打印
4-12\xb8\xf6\xd3\xa2\xce\xc4\xd7\xd6\xc4\xb8\xa1\xa2\xca\xfd\xd7\xd6\xba\xcd\xcf\xc2\xbb\xae\xcf\xdf
不是字符串“4-12\u4e2a\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e0b\u5212\u7ebf
print u'4-12个英文字母、数字和下划线'.decode('utf-8').encode('unicode-escape')
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "encodings\utf_8.pyo", line 16, in decode
UnicodeEncodeError: 'ascii' codec can't encode characters in position 4-27: ordinal not in range(128)
没有'你'也是错误:
print '4-12个英文字母、数字和下划线'.decode('utf-8').encode('unicode-escape')
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "encodings\utf_8.pyo", line 16, in decode
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb8 in position 4: unexpected code byte
没关系,谢谢
>>> print '4-12个英文字母、数字和下划线'.decode('gb2312').encode('unicode-escape')
4-12\u4e2a\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e0b\u5212\u7ebf
答案 0 :(得分:1)
这是一种Unicode表示形式。试试.decode('unicode-escape')
。
修改强>
对于第二次解码,您使用的内容取决于您的终端/控制台设置。 'utf-8'
是一个理智的起点,然后使用'unicode-escape'
进行编码以获取Unicode转义序列。
答案 1 :(得分:1)
它被编码为python unicode文字:
>>> print u"4-12\u4e2a\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e0b\u5212\u7ebf"
4-12个英文字母、数字和下划线
答案 2 :(得分:1)
该字符串只需输入JavaScript解释器(在本例中为WebKit检查器)即可显示“4-12个英文字母,数字和下划线”。
它似乎没有任何base64编码信息。
还有其他你想知道的东西吗?
答案 3 :(得分:1)
我猜是unicode字符串的python 3.x表示。
在python 2.x中,你需要在unicode字符串的开头u""
。
答案 4 :(得分:0)
您的最终评论:
>>> print '4-12个英文字母、数字和下划线'.decode('gb2312').encode('unicode-escape')
仅在源文件以gb2312编码保存时才有效。确保在文件顶部声明,然后可以使用Unicode字符串:
# coding: gb2312
print u'4-12个英文字母、数字和下划线'.encode('unicode-escape')