Latin1、ISO-8859-1和中文表示

从本质上说,ISO-8859-1是单字节编码,自身不能显示中文,若要显示中文,必须和其他能显示中文的编码配合,如“GBK”,“UTF-8",

以ISO-8859-1编码的文本,都以bytes[]的形式保存,若要显示中文,只需以显示平台的默认编码格式进行解码即可。若仍然以ISO-8859-1格式解码,得到的中文字符肯定是乱码,因为ISO-8859-1自身不能显示中文。

Latin1即ISO-8859-1,它是单字节编码,它本身无法表示中文,不过既然它是byte[],那么其它编码内容,就可以以它存起来(toLatin1),用时候用该编码解释即可。

QString.toLatin1() // 返回QByteArray,可以认为,toLatin1并不是要转换为latin语,而仅仅是利用它单字节存储特性作为字节数组用。        

latin1
latin1又名ISO-8859-1,编码表如下:

demo3
一共256个字符!这就是传说中的单字节编码,mysql选它做默认的编码方式,那么mysql为什么选它做默认编码方式,而不是其他的编码方式呢?

细想一下:

字符串转化为二进制,肯定都是以字节为单位的(8的倍数),所以无论存储什么字符串都能将其完整的对应到demo3的索引表中,读取时可能会乱码,但至少保证了数据的完整性。其他的编码方式显然不具备单字节编码的这种优势,有可能造成数据丢失!

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ISO 8859-1,又称Latin-1或“西欧语言”,是国际标准化组织内ISO/IEC 8859的第一个8位字符集。它以ASCII为基础,在空置的0xA0-0xFF的范围内,加入96个字母及符号,藉以供使用附加符号的拉丁字母语言使用。\[1\]ISO-8859-1码是在ASCII码的基础上发展而来的,所以有时也叫扩展ASCII码。与ASCII码相同,它的编码也是占一个字节(8个bit),但与ASCII码不同的时它8个bit位全用到了。ISO-8859-1编码兼容ASCII码,0000 0000~0111 1111仍然是ASCII码的内容。\[2\]在Java中,可以使用String类的getBytes方法将字符串转换为ISO-8859-1编码的字节数组,也可以使用String类的构造函数将ISO-8859-1编码的字节数组转换为字符串。\[3\] #### 引用[.reference_title] - *1* *3* [ISO-8859-1疑问](https://blog.csdn.net/lgh1992314/article/details/78684117)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [搞清楚字符编码03-ISO-8859-1码](https://blog.csdn.net/Sacredness/article/details/89439746)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值