编码问题详解
来源:互联网 发布:最近淘宝网怎么了 编辑:程序博客网 时间:2024/05/21 01:54
- 为什么会有编码
看下图:无论是电脑内存数据,还是本地文件,还是网络传输的数据,数据总是以"二进制"或者称"字节"数组的形式存在的,为了保存字符,就必须完成字符到字节的转换,如何转换的过程叫做编码。为了还原这些字节数组的实际含义,还必须完成字节到字符的映射,如何映射的过程称作译码。
编码过程类似于:
y=f(x) //其中x表示字节,y表示字符,函数f()就表示采用的编码方式。
译码过程:
x=g(y)//其中g是f的反函数。
- 为什么有很多编码?
其次即便是同一种字符,还是有可能采用不同的编码函数f,所以存在各种f,因为有些f可能比另一些f更合适;
最后为了能够囊括所有的字符,国际标准组织采用“大大大F”,把所有的字符都包括住了,这就是国际统一编码UTF,但最终还是没统一起来。。。。。
- 为什么看起来会乱码?
看上图:本来字符“中文”是按照GBK的函数f1编码成字节的,用f1的反函数再进行译码是正确的。但是有时候阅读器可能错误的采用了译码函数g3来译码。g3又不是f1的反函数,当然和以前的映射过程不一样了,这样当然会乱了。
- 如何看待编码混乱问题?
2、对于已经存在的字节数组,你必须清楚的知道,它当初是字符的时候,是采用的哪种编码方式变成01010101。
如果以上两条规则弄明白了,你就应该清楚,根本不存在“GBK字符”或者“UTF8”字符,这一类的说法了,你把“中文”这两个字符使用GBK编码成字节,再译码成字符,这个字符还是以前的字符,和GBK没关系。你采用任何编码方式编码成字节,再译码回去,它还是以前的字符。字符就是字符。~~~~~~
0 0
- 编码问题详解
- Java编码问题详解
- Java编码问题详解
- 编码问题详解
- 编码问题详解
- 字符编码问题详解
- Python编码问题详解
- 中文编码问题详解
- Tomcat编码问题详解
- 字符编码的问题详解
- 编码,解码,乱码,问题详解
- 编码,解码,乱码,问题详解
- 编码,解码,乱码,问题详解
- 字符串的编码问题详解
- Python中文编码问题详解
- Python语言编码问题详解
- Java中文问题详解,底层编码解剖
- Java中文问题详解,底层编码解剖
- hdu 4.1.2 Strange fuction
- iOS开发UI篇—CAlayer(创建图层)
- ios开发-c语言之其他数据类型的学
- [Android分享] ViewPager的setOnPageChangeListener方法详解
- hibernate 之 getCurrentSession() 详解
- 编码问题详解
- 排序算法和设计模式
- vim搜索设置高亮
- HDU 1896 Stones
- 黑马程序员————C语言指针
- 如何在CentOS 6上通过YUM安装Nginx和PHP-FPM
- 从标准输入读取几行输入,每行输入都要打印到标准输出上,前面加上行号。
- kettle介绍
- poj 1821 dp+单调队列