我正在从命令行中读取一个字符串,该字符串以韩语编码为UTF-8。我通过运行这样的命令来获取字符串
<my_command> | od -t x1
这给了我:
0000000 ec a7 80 ec 97 ad 2f ea b5 ad ea b0 80 0a
0000016
有六个UTF-8字符{eca780}{ec97ad}{2f}{eab5ad}{eab080}{0a}
,然后我使用Python在其中读取
utf8_str = unicode(text_from_the_cl, encoding='utf-8')
我只想做的就是能够以已读字符的UTF-8代码查看已读字符串。所以类似的东西\uc9c0\uc5ed/\uad6d\uac00
会很好。这只是为了检查它们是否被正确读取。
(我还要指出,这是Python 2.6.x-我无法控制它)
如果要验证unicode
字符串的内容,请使用以下repr()
函数:
>>> from binascii import unhexlify
>>> unhexlify(''.join('ec a7 80 ec 97 ad 2f ea b5 ad ea b0 80 0a'.split()))
'\xec\xa7\x80\xec\x97\xad/\xea\xb5\xad\xea\xb0\x80\n'
>>> print unhexlify(''.join('ec a7 80 ec 97 ad 2f ea b5 ad ea b0 80 0a'.split())).decode('utf8')
지역/국가
>>> print repr(unhexlify(''.join('ec a7 80 ec 97 ad 2f ea b5 ad ea b0 80 0a'.split())).decode('utf8'))
u'\uc9c0\uc5ed/\uad6d\uac00\n'
值的repr()
结果对非ASCII和非Latin1代码点unicode
使用\uhhhh
转义序列。对于Latin 1代码点和不可打印字符,使用\xhh
转义序列。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句