作者ogamenewbie (._.)
看板java
标题Re: 想请教一个编码的问题..
时间Thu Apr 19 18:53:56 2007
你要知道, 在电脑里面的东西都是 0 (2进位) 或 1 (2进位).
都不是给人看的东西, 要人去定义说什麽是什麽,
那这些 0101 (2进位) 的东西才会有意义.
好, 问题来了, 今天我自己定义一套 1~26 (10进位) 是 A~Z,
别人要怎麽知道说我储存的 000111101010 (2进位) 是什麽鬼东西?
所以我要把编码明确的写好 000001 (2进位) 是什麽, 000010 (2进位) 是什麽.
然後还要给这个编码表一个名字, 可能不会是我给的.
别人再运用这些规则就可以把这些 000001 (2进位) 解读成 A 显示在萤幕上.
如果这个部分你无法理解, 请用任何可以显示 16 进位的编辑器 (例:UltraEdit)
去用 16 进位模式看看文字原始的面貌.
好了, 那有了 A~Z, 就够了吗?
日本有自己的 50 音 (JIS), 韩国有圈圈直线, 对岸是简体字, 我们是繁体字.
这些难道当初发明电脑的人会去帮你编好那些码吗? 不可能嘛.
所以大家就会自行去定义 0101
来把自己国家特殊语言编码描述出来.
不然电脑只会显示英文有意义吗? 我只打英文给你看你看的懂吗?
但是没有一个共通的协定, 就会撞嘛.
我定义 1~26 (10进位) 是 A~Z, 人家 ASCII 却说 065~090 (10进位) 是 A~Z
那预设用 ASCII 来读我自己乱写的编码过档案, 只会出现一堆看不懂的东西而已
所以後来才会有 Unicode 或 UTF-8 之类的东西..
现在大家都学乖了, 我要让你看懂, 我们就先讲好
我在档案开头说这是什麽档案, text/html 代表的就是一般的平文,
不是什麽图片或程式, 那个编码又是不一样的东西.
然後就算是平文, 也不是所有编码都一样, 我还是要讲他是 ASCII, Big5..etc.
那你来读我的档案, 你先看过档案开头, 你就不会乱解一通.
光中文就可以用 Unicode, CNS11634 (大概吧?), Big-5...etc 等等去解读.
那用不同的编码去解读通常会有不同的结果.
总之, 在电脑里面的都是 0101 (2进位), 要看懂就是要定义他是什麽.
编码表就像字典档一样, 可以把那些 0101 (2进位) 变成文字.
但是字典也有英文字典德文字典法文字典...etc
所以翻回来的结果自然也会不同.
※ 引述《[email protected] ( )》之铭言:
: 有一个问题一直困扰我很久,想请问一下各位程式的高手
: 最近在学jsp网页的时候,常常会遇到编码的问题
: 比如说..<%@page contentType="text/html;charset=Big5"%>
: 这一行好了..
: 虽然书上有解释,这一行的内容是啥
: 大概是这样说的,此jsp网页的内容设定为text/html格式,编码方式为中文big5码
: 可是我还是有看没董..
: 还有类似像这样的叙述...request.setCharacterEncoding("big5");
: 我也是有看没董..
: 我对jsp的一些语法,使用方式..包括连接资料库的概念都具备了..
: 可是独独对编码的方式,还有我看网页上很多人都有发表一些有关於
: 处理资料库中文输出变成乱码的文章...
: 还是有看没董..
: 因为我并非本科系出身..对程式语言的编码,以及什麽是编码也好像一知半董
: 有没有人可以解释一下...有关於
: 1.什麽是编码
: 2.为什麽需要编码
: 3.<%@page contentType="text/html;charset=Big5"%>
: request.setCharacterEncoding("big5");这两行的意义到底是啥
: 4.为啥部处理编码问题,会有中文变乱码的情形
: 谢谢..
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.64.225.194