对于汉字的编码解包问题
我知道对于utf-8编码,每个汉字需要对应三个bytes,即24bit。现在因为项目需要,我想把24个bit拆分为单独的三个8bit(即拆分为三部分,每个部分不超过256,并且可逆向还原为汉字),用例代码如下:
>>> import struct as st
>>>
>>> string = "Nature期刊"
>>> byte = string.encode(encoding="utf-8")
>>> print(byte)
b'Nature\xe6\x9c\x9f\xe5\x88\x8a'
>>> info = st.unpack(f"<{len(byte)}B", byte)
>>> print(info)
(78, 97, 116, 117, 114, 101, 230, 156, 159, 229, 136, 138)
推荐文章: