软件开发程序员需要掌握哪些编码知识
什么是编码?
众所周知,计算机存储都是0和1,那计算机是如何区分开汉字,字母呢?后来人们就规定了一个编码表,这个表就相当于一个字典,比如我们通俗约定1100001就表示A,1100002表示B做计算机显示的时候,发现一个字符对象存储的值是1100001那就显示A就行了。像这样,由信息的一种形式转换为另外一种形式的过程,称为编码。而编码表便是编码过程的一种规则。
ASCII
ASCII(AmericanStandardCodeforInformationInterchange)是出名也是基本的编码表,开始计算机发明的时候,计算机的使用一般都是一些特殊字符加上26个字母,因此美国人定制了ASCII表用来显示通用的26个字符加上一些特殊字母,ASCII码只占用一个1字节。

ANSI
开始ASCII编码是够用的,但是随着计算机的发展,越来越多的陆续用上了计算机,这个时候,母语非英语的就开始不满意了,ASCII只能表示26个英文字母,那法语(é),汉语(),德语(Ää)等也要在计算机中表示。
这些都是编码都是在原有的ASCII基础上扩展而来,统称为ANSI编码。但是大的缺点就是互不兼容,也就是每个编码都是在没有考虑其他的定义的基础上扩展的。一边来说,在解码/编码过程中,都是指定具体的编码,比如GBK2312,ISO8859-1等,ANSI只是对上述编码的一种统称。使用ANSI来作为一种编码格式的一般只见于Windows自带的记事本中。而在Windows记事本中,不同语言的操作系统,记事本所指的ANSI是不同的,
因此,对于Windows的记事本,ANSI需要看具体的编码。
UNICODE
先需要明确的是UNICODE是将字符集和编码方式分开的一种方案,在维基百科中又被称做万国码、国际码。由名字便可知道,Unicode统一了各个的字符并规定了每个符号的编码,在Unicode字符集中,每个字符占用两个字节表示。ANSI类的字符集合编码都是一对一的关系,一种字符集对应一种编码。在Unicode编码中,Unicode编码的实现方式被称为Unicode转换格式。