字符串的编码转换 及传输
Qt中中文处理-编码格式转换
=============================
字符串的编码转换
为什么需要字符串的编码转换
编码与解码的方式
编码:将字符串转换为二进制数据(bytes)
解码:将bytes类型的数据转换成字符串类型
# 编码
s = '天涯共此时'
print(s.encode(encoding='GBK')) # 在GBK编码格式中,一个中文占两个字节
print(s.encode(encoding='UTF-8')) # 在UTF-8编码格式中,一个中文占三个字节
# 运行结果中b''表示bytes(二进制)类型数据
b'\xcc\xec\xd1\xc4\xb9\xb2\xb4\xcb\xca\xb1'
b'\xe5\xa4\xa9\xe6\xb6\xaf\xe5\x85\xb1\xe6\xad\xa4\xe6\x97\xb6'
# 解码
# byte代表一个二进制数据(字节类型的数据)
byte = s.encode(encoding='GBK') # 编码
print(byte.decode(encoding='GBK')) # 解码
天涯共此时
byte2 = s.encode(encoding='UTF-8')
print(byte2.decode(encoding='UTF-8'))
天涯共此时
————————————————
版权声明:本文为CSDN博主「蛰伏GR」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ccBcc_/article/details/126632196
Qt中中文处理-编码格式转换
https://blog.csdn.net/xiongpursuit88/article/details/127663417
问题描述
在Qt中,由于对文本的处理都是采用 utf-8(Unicode字符集的一种编码方式),当遇到非utf-8的字符串时,如果不进行转换,常常会出现乱码的情况。
比如,当读取一个gbk格式的文件,然后将其显示出来时,如果采用下面的代码进行编写,则会出现显示乱码。