首页 > 代码库 > 将字符串转成16进制的ASCii码的值

将字符串转成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‘
>>>

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


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");
}



参考:

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 

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