字符串转 UTF-8 二进制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串转 UTF-8 二进制相关的知识,希望对你有一定的参考价值。
参考技术A UTF-8 是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。
编码规则:
编码规则表,字母x表示可用编码的位
根据上表,解读 UTF-8 编码非常简单。如果一个字节的第一位是0,则这个字节单独就是一个字符;如果第一位是1,则连续有多少个1,就表示当前字符占用多少个字节。
阮一峰-字符编码笔记
汉字转UTF8 16进制字符串
把汉字转为UTF-8 16进制字符串,并加\\x,针对一些编译器不认识汉字使用
#coding: utf-8
import os
import sys
import re
import binascii
reload(sys)
# sys.setdefaultencoding('utf-8')
sys.setdefaultencoding('gbk')
def str_to_hexStr(string):
str_bin = string.encode('utf-8')
return binascii.hexlify(str_bin).decode('utf-8')
def str_to_hex(arg):
text_str = str(arg)
text_str = str_to_hexStr(text_str)
text_str = text_str.upper()
text_str = re.sub(r"(?<=\\w)(?=(?:\\w\\w)+$)", "\\\\x", text_str)
text_str = "\\\\x" + text_str
return "%s-->%s" % (arg, text_str)
def file_to_hex(arg):
wf = open("out."+arg, 'w')
for text_str in open (arg, 'r'):
text_str = text_str.replace('\\n','')
text_str = str_to_hex(text_str)
print text_str
wf.write(text_str+"\\n")
if __name__=="__main__":
# str_to_hex(sys.argv[1])
file_to_hex(sys.argv[1])
以上是关于字符串转 UTF-8 二进制的主要内容,如果未能解决你的问题,请参考以下文章
c语言怎么字符串和16进制转码 汉字转16进制如“我”转换成 “0xe68891”; 16进制转汉字“0xe68891”转 我