精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Java>>JAVA编程>>中文问题>>Java中文问题(参考2)

主题:Java中文问题(参考2)
发信人: head()
整理人: hht(1999-03-11 11:09:10), 站内信件
From:
                                                                       12:59
Subject: [中文Q&A]Java 字码问题To: [email protected]

From:      [email protected] via BBS mail gateway
Subject:   [中文Q&A]Java 字码问题
Date:      Tue Jun  9 12:59:44 1998
To:        To

>From - Thu Jul 17 18:35:27 1997
Path: netnews.ntu.edu.tw!news.ck.tp.edu.tw!news.edu.tw!ctu-peer!news.nctu.edu.tw!news.nctu.edu.tw!news.ncu.edu.tw!News.csie.ncu.edu.tw!spring.edu.tw!news.secc.fju.edu.tw!UUserv.Net.tw!aidebbs.edu.tw!netnews2!news.csie.nctu.edu.tw!phoenix
From: [email protected] (duke :>)
Newsgroups: tw.bbs.comp.lang.java
Subject: Java 字码问题
Date: 16 Jul 1997 09:13:22 GMT
Organization: 交大资工凤凰城资讯站
Message-ID: <[email protected]>
X-Filename: java/M.869044402.A
NNTP-Posting-Host: serv.hinet.net
Lines: 58

 JDK 1.1 包含了处理许多种编码的机制 (Unicode, BIG5, ISO-8859-1, ...)
 但也造成某些环境, 可以看到中文 (这里指 Big5)、有些环境则否。

 大略测一下手边的软体:

 Netscape Navigator 3.x(NT) - BIG5
 Netscape Communicator 4.01(95/NT) - Unicode/BIG5
 Microsoft Explorer 3.x - Unicode

 JDK 1.0 bytecode 的文字资料是 BIG5, VJ++ 则是 Unicode (以前有人提出
 )。事实上 JDK 1.0 不对文字资料作任何转换动作。所以, 在有中文情况下:
 JDK 1.0 产生的 bytecode 可供 Navigaotr 浏览, VJ++ 可供 Explorer浏览
 。Communicator 则可同时浏览 JDK 1.0 及 VJ++ 产生的 bytecode。

 到了 JDK 1.1 会针对执行环境处理---95/NT 中文版, 在预设情况会把 BIG5
 文字转换成 Unicode。 Solaris 下, 换了几种 locale, 状况不太能预测。查
 了文件, 编码方式可由 javac 决定:

   javac -encoding Big5 t.java (把 t.java BIG5 中文转成 Unicode)
   javac -encoding 8859_1 t.java (把 t.java BIG5 中文保持原状, 不转)

   ps. 1) 注意 Big5 大小写   2) 8859_1 不确定能否正常(大致没问题)
       3) 我用 Mocha (Java Decompiler) 来确定编码

 将 BIG5 转成 Unicode 比较符合趋势? :-) 不转的话, 是照顾许多使用者。
 基本上, 对许多使用 JDK 在 Command Line 上努力的人来说:

   1. 95/NT - 用新版 1.1, 就依预设状态转成 Unicode。
   2. Solaris - 以 Telnet 作业, 如果转成 Unicode, 就看不到了。在
      Console? 我离 Console 太远了, 没试过 ... Solaris 有支援 Uni-
      Code 吗??

 当然, 可利用新的 package 来处理, 解决这些问题。有人写好的吗? :-))

---------------------------------------------------------------------
 [附录] 用来测试的 t.java:

 public class t {
    public static void main(String args[]) {
        System.err.println("测试");
    }
 }

 =================================================================
 javac -encoding Big5 t.java
 用 Mocha 处理後, 看到 Unicode:
        System.err.println("\u6e2c\u8a66");

 =================================================================
 javac -encoding 8859_1 t.java
 用 Mocha 处理後, 还是 BIG5:
        System.err.println("\u00b4\u00fa\u00b8\u00d5");

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

- The End

--
☆ 来源:.广州网易BBS站 bbs.nease.net.[FROM: 202.101.127.250]

[关闭][返回]