字符串转换ASCII码、Unicode码

将字符串转成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-进阶-编码处理小结

转载于:https://my.oschina.net/ioslighter/blog/360476

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值