关于内码[转]

windows 98时代的电脑。
中文系统采用的是GB码,日文系统采用的是JIS码。内码是以123456789和26个英文数字所组成。
  譬如如:中文系统里下:内码(0000)对应汉字是(一),而在日文系统里,内码(0000)对应汉字是(十)的话,中文的汉字"一个",在日文系统就可能变成了"十万"。GB码的汉字,在日文系统下,就变成了乱七八糟的符号和文字。而导致乱码。
英文字母与数字在任何系统下的编码都是样的,所以它不会乱码。
  在这样的情况下,就只能通过转码软件来实现中文系统上运行日文软件。比较著名的有Richwin For Windows;南极星;译典通;金山快译等转码软件。

  而Windows 2000和Windows XP系统均采用一种新的编码-Unicode。中文也称统一码,万国码。Unicode的编码,是把世界所有的文字、符号统一编码。不同国家,不同的文字,Unicode都给它们定义一个唯一的一个内码。不会像GB码与JIS码,同一个汉字,编码不同,结果导致乱码。

  以Unicode为内码编程的软件,不管是世界任何一种语言的软件。在以Unicode为内码的环境下(如:win2000、XP)下都能正常显示。

  微软的所有软件,都是使用Unicode内码编程。就可以简单说,只要是微软的产品,在微软的系统XP、2000、2003上运行,都不会有乱码。
  如:中文的office在日文的XP,不会有乱码。日文的office在中文的XP,也不会有乱码。

微软的日文词典bookshelf在中文XP下畅行无阻。

而且微软的MSN,可以同时支持世界上所有的语言,中文、日文、韩文、阿拉伯文、印度文、希伯来文都没有问题。再多语言上比ICQ和QQ不知强大到哪里去。

微软的网页制作软件Microsoft-frontpage可以在网页上支持任何语言和文字。

微软的IE浏览器。收藏夹可以显示各国的文字。我不想换掉IE就是因为其他的收藏夹不能显示其他语言。否则早觉得IE不好用了。

微软的outlook Express。也是绝对的超级支持世界上的任何语言。而著名的foxmail,也没有OE所支持的内码多。

关于微软产品的语言包及其他

  因为XP、2000都是以Unicode码为内码,所以不同的文字在XP、2000上面就不会有乱码。所以开发了多国语言的XP、office。使得不同语言版本的xp、office能在同一个系统下运行。
多语言的XP必须先安装英文专业版XP,再安装语言包。就能使用不同的语言的操作界面。
多语言的Office2003在任何语言的windows里同样能够安装。而且不需要以英文版为基础。在中文版的基础上可以直接安装日文语言包。
不管是中文版office 2003,日文版office 2003,只要再安装其他一个语言包,就等于拥有了其他语言版的office。网上的多国语言office 2003。
  笔者曾经无聊。把30多个语言的语言包全部安装上了。过了一把语言隐。不过很多语言都是压根没有接触过的。看着平时很少见到的阿拉伯、希伯来文,印度文、俄文感觉都特别新颖。
  Windows XP切换语言的时候需要注销一下。office2003切换语言的时候则需把office关闭后重新运行即可。不用重新启动

在XP、2000、2003非Unicode程序的运行


  但即便微软率先支持了Unicode码。但是其他的软件商并没有意识到Unicode不带来乱码的好处,依旧使用传统的内码来编程。很多中国的软件还是用GB码,台湾的软件用B5码,日文还使用JIS码。并没有使用Unicode码。

  微软的推出的AppLocale,这个软件就是为了解决使用Unicode内码以外的不同语言内码的软件在不同语言环境下使用而开发。不过这个软件只是开发过程。还不是很好用。很多软件都不能很好的支持。

除使用AppLocale以外Windows家族以Unicode为核心的XP、2000可以向下支持其他的内码。
设定方法"开始—控制面板—区域和语言选项—高级—非Unicode程序的语言"内选中文(中国)、中文(台湾)、日文就中国就兼容了GB码,选台湾就兼容了B5码,选日文就兼容了JIS码。
如果你想让电脑运行繁体的软件,日文的软件。就可以用这个不借助转码软件的办法。但是这样必须得重新启动。但是有些GB码的软件,QQ之类的,可能就是乱码了。还是可以选择转码软件。

有远见的厂商,应该以后都用Unicode来编程。这样就不会只能在简体中文系统上运行,或者只在繁体中文上运行。用Unicode来编码,只要电脑是以Unicode为核心的XP、2000、2003、Linux都可畅行无阻。

    
  编写网页:如果想让自己的网页同时显示多国语言,可以用支持多国语言最好的Micro-soft FrontPage把内码设定为Unicode。而Macromedia DreamWerver的多语言支持就不如Micro-soft FrontPage好。

在选择记事本保存文档的话。有ACILL、Unicode、UTF-8、Unicode big endian四种

ACILL是第一项。如果你的电脑非Unicode内码选择是中文简体。那么保存以后就是GB码。如果选择中文繁体。保存以后就是B5码。如果是日文,那就是JIS码。如果别人的电脑非Uncode内码与你选择不一样的话。可能他就必须要转码。如果更改了自己非Unicode程序的内码,那么自己用ACILL保存的文件,也都统统变成了乱码了。。
记事本的转码有一个窍门。只要用IE打开记事本,再用IE浏览网页时"查看——编码"那样转码,就不用通过借助其他软件。

unicode就不用再介绍了。不管非Unicode的程序更改不更改。以此形式保存的文档。永远不会乱码。

UTF8是Unicode的缩略。Unicode一个内码是四字节,比较占用空间。而UTF8一个内码是2字节。以Unicode为核心的系统,当然Unicode和UTF8同时支持了。用UTF8存档。更高非Unicode程序的内码,也不会有乱码。

Unicode big endian是苹果电脑的Unicode文档格式吧。这个没有怎么用过。

tips:除此之外Unicode还有UTF7 UTF16。这些我都不知道具体是什么。平时也很少用到。

 

 

------------------------------------------------------------------------------------------------

最近在写一个系统,是繁体版本的,所以有幸接触到字符内码方面的东西,见这篇文章对字符内码的编码写的还不错,所以转到blog上

原文URL:
http://oldblog.blogchina.com/article_6955.1421910.html

 

 

 

posted on 2005-06-30 10:00  旭日东生  阅读(4861)  评论(0编辑  收藏  举报