UTF-8转码GBK
昨天一个大学的同学问了一个关于utf-8转码gbk的问题,所以两个人一起讨论了一下关于utf-8转码成为GBK的乱码原因。
正常情况下如果我们需要将UTF-8格式转码为GBK,我们会需要经过这样一个中转:
通常情况下如果直接转码会出现一种情况就是GBK转码UFT-8出现乱码后乱码可以在转码回去变为原来的GBK中文。
但是UTF-8转码为GBK则会出现两种情况,在中文字符长度为偶数时是可以直接将乱码还原回去的,但是奇数情况下是无法全部转码回去的
究竟什么原因呢?
这和UTF-8的编码字节数和GBK的编码字节数有关,我们知道UTF-8的字符集是以三个字节数来存储的,而GBK则是两个字节数,所以就存在以下问题
当“你好好”三个字转码为字符集表示的时候,一共得到九个字节,当然这九个字节转码为gbk的时候会被两两分组,所以第九个字节就会被抛弃无法识别转化为有标记的乱码符号,当我们再把乱码转回去的时候,自然就无法还原为原来的UTF-8了。如下图
所以在UTF-8转gbk的基数情况下就会出现最后一个字转码为乱码后无法还原的情况。
UTF-8转码GBK相关推荐
- 下载论坛源码GBK UTF8 BIG5分别是什么意思
下载论坛源码GBK UTF8 BIG5分别是什么意思? 提问者:ly1987520 | 浏览次数:4010次 下载论坛源码简体中文GBK 简体中文UTF8 繁体中文BIG5 分别是什么意思?他们的区别 ...
- php文件在线编码转换,gbk编码在线转换_php汉字转码 GBK到Big5编码转换
摘要 腾兴网为您分享:php汉字转码 GBK到Big5编码转换,月星家居,永辉生活,一点开,幸福钱庄等软件知识,以及酷我音乐车机,爱情电影网影音,杜比音效,微信制作宣传广告,dolbyadvanced ...
- 关于C#(生僻字、繁体字)和Java的URL转码GBK后结果不一样的问题解决
业务背景: 服务端是用Java写的,客户端的是使用C#写的,他们交互以客户端以http协议方式请求服务端,http请求方式要求URL转码为GBK.但是后来发现,服务端收到客户端提交的GBK字符,偶尔会 ...
- php文件在线编码转换,php汉字转码 GBK到Big5编码转换
php如何实现汉字编码转换,有关php汉字转码的例子. 有两点要注意: 1,GBK的繁体字并不是Big5,但一般繁体字都有对应的Big码. 2,一GBK码并不一定有对应的Big5码,所以一般是不可逆转 ...
- C++处理 中英字混合截断乱码[中码GBK,英码ASCII]
//=======================================================// 从start开始 截取中英混合字符 遵循GBK编码规则////========= ...
- xp mysql字符集与乱码_mysql字符集(GBK、GB2312、UTF8)与中文乱码的原因及解决
Mysql乱码问题的原因与解决 MySQL对中文的支持程度还是很有限的,尤其是新手,一旦出现乱码问题,就会头大.下面介绍几种乱码问题的现象原因及解决方法,仅供参考. 乱码问题1:用PHPmyAdmin ...
- mysql中gbk编码汉字和英文_MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题...
MySQL中涉及的几个字符集 character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数 ...
- mysql utf8和gbk的区别_MySQL字符集 GBK、GB2312、UTF8区别
MySQL中涉及的几个字符集 character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数 ...
- mysql gbk_MySQL字符集 GBK、GB2312、UTF8区别 解决MYSQL中文乱码问题
MySQL字符集 GBK.GB2312.UTF8区别 解决MYSQL中文乱码问题 更新时间:2012年08月27日 21:17:11 作者: MYSQL中文乱码问题原因有很多,脚本之家以前发布过很 ...
- 用C语言实现常见的三种中文内码转换
常见的中文内码一般有GB2312(简体中文),GBK和台湾那边用的BIG5(繁体中文),有时候看一些台湾编程论坛里的资料,都是乱码,如果在IE中浏览,则要求安装繁体字库的支持.网上也有很多中文内码的转 ...
最新文章
- 【深度学习入门到精通系列】对比度受限的自适应直方图均衡化(CLAHE)
- 高性能服务器 - window篇
- How to find all event handler list for a given event
- VMware虚拟机不能上网的解决方法
- Cannot resolve symbol 'R',Failed to resolve: constraint-layout
- 关于malloc与字符指针的一些易错点
- python可迭代对象,迭代器,生成器
- 单点登录相关问题总结
- 移动通讯市场发展概况及预测
- win10计算机变成了英文,win10变成英文【处理方式】
- html表格收起展开,vue-table-element表格的全部展开和全部折叠
- 表达式(四则运算)计算的算法代写 essay代写
- 关于CSDN书写的博客内容中图片不显示的问题
- 【转】人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[0]——月晕础润
- 从程序员到项目经理(六):程序员加油站 — 懂电脑更要懂人脑
- 不止跑路,拯救误操作rm -rf /*的小伙儿
- java bks证书_jks bks 等的定义 如何将jks转化为bks的
- Google Sheet 学习笔记
- Ubuntu14.04下无线网卡TP-Link TL-WDN5200的驱动安装
- 完美解决丨1. **`SyntaxError: invalid syntax`**
热门文章
- 计算机中学期末考试,[探析我国中学计算机教育]计算机基础大一考试题
- c语言扩展欧几里得算法编程实现,C语言实现欧几里得算法与扩展欧几里得算法.doc...
- http 报文格式、状态码
- 华为笔记本键盘说明图_电脑键盘的这些功能键的真正用法,你全都了解吗?
- (半)自动化爬虫系统该包含的功能点及相关介绍
- bios调整服务器性能模式吗,怎样更改BIOS设置提高显卡性能
- padavan路由器server酱设备下线快速响应。
- 跨平台局域网文件传输工具——Dukto R5
- STM32F207 HOST读写u盘枚举失败 USBH_BUSY 或 操作U盘 打开其根目录f_opendir一直卡死
- 从普通物理到弦论教材推荐