MySQL字符集编码终级指南基础篇
一,总论
要了解MySQL的字符编码,解决乱码问题,必须先了解字符编码。我们知道所谓信息,在计算机中不过是一串的位(bit:0 or 1),每8个bit组成了一个字节,而这些字节到底表示什么,取决于读到这些对象的上下文,1个字节序列,可以表示整数,字符串或者机器指令,当然也可以表示中文,日文,甚至上古文字。
即:
信息=位+上下文
而为了确定字符与二进制位的对应关系,就必须制定编码。
因为计算机是西方发明的,所以最早的也是我们最熟悉的编码ASCII主要包含的也就是26个基本拉丁字母(大小写)、阿拉伯数目字和英式标点符号等。但地球其它地方的人们也需要现代化,也要使用计算机,靠ASCII仅仅7个bit,128个字符位是不可能表示所有国家、地区的字符的。特别是像汉字这种非拼音字符,常用的也有几千个,1个字节都放下不。
def hex_to_text(hex_str):
byte_str = bytes.fromhex(hex_str)
print(hex_str+':');
<br>
# 对于Latin1编码
print(byte_str.decode('latin1'))
<br>
# 对于GBK编码
print(byte_str.decode('gbk'))
<br>
# 对于UTF8编码
print(byte_str.decode('utf8'))
<br>
print('------------------');
<br>
return 0
<br>
hex_str = '41'
hex_to_text(hex_str)
<br>
hex_str = 'e682a8e5a5bd'
hex_to_text(hex_str)
<br>
hex_str = 'C1AACDA8'
hex_to_text(hex_str)