字符串转换ASCII码、Unicode码

一世执手 提交于 2019-12-05 15:30:32

将字符串转成16进制的ASCii码的值

python:

使用python 内置函数repr可以将非ascii码转换成\x**的样式,如下:

>>> a='我们都是中国人'
>>> print repr(a)
'\xe6\x88\x91\xe4\xbb\xac\xe9\x83\xbd\xe6\x98\xaf\xe4\xb8\xad\xe5\x9b\xbd\xe4\xba\xba'
>>>

好像换成非中文就不行了。

对于英文可以用这个:

>>> a=''.join('\\x%02x' % ord(x) for x in 'Hello World!')
>>> print a
\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21


bash:

ada@barnabas:~> echo "ABCDE" | uni2ascii -Bsepq
\x0041\x0042\x0043\x0044\x0045
ada@barnabas:~> echo "ABCDE" | uni2ascii -Bsepq | ascii2uni -Bq
ABCDE


C语言:

void print_hex(const char *s)
{
    while(*s)
        printf("\\x%02x", (unsigned int) *s++);
    printf("\n");
}

Python中文字符串与Unicode编码相互转换

[admin@admin ~]$ python
>>> u'中文'
u'\u4e2d\u6587'
>>> print u'\u4e2d\u6587'.encode('utf-8')
中文
>>>


参考:

http://www.linuxquestions.org/questions/programming-9/%5Bbash%5D-ascii-to-hex-and-hex-to-ascii-488357/ 

http://blog.chinaunix.net/uid-12453618-id-2935335.html 

http://blog.yuaz.net/archives/313

PYTHON-进阶-编码处理小结

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!