发信人: head()
整理人: hht(1999-03-11 11:10:41), 站内信件
|
From: 12:59 Subject: [中文Q&A]java与big5!To: [email protected]
From: [email protected] via BBS mail gateway Subject: [中文Q&A]java与big5! Date: Tue Jun 9 12:59:38 1998 To: To
发信人: [email protected] (贤哥), 信区: Java 标 题: java与big5! 发信站: 台大计中椰林风情站 (Fri Mar 20 04:14:50 1998) 转信站: cis_nctu!news.cis.nctu!news.csie.nctu!news.svdcc.fju!spring!news.ntu!P
最近在写处理中文的程式, 深深为unicode与big5所苦. 有些想法不知道是否正确, 请 大家指教!
java内部的字元是采用16bit unicode, 所以在win95平台上, java程式读入 一个文字档(其中包含中文与英文)到inputstream, java会将档案中的每个byte转成 unicode来表示, 所以一个big5的中文字会变成两个unicode char. 等到要把所读入的 资料再写入另一个档案时, java会把每个unicode char转成single byte char(因为在 win95平台上), 於是两个档案是一样的. 由於unicode的'\u0000'到'\u00ff'正对应 single byte char, 所以我猜想当single byte 转unicode时是加上一个high byte, unicode char 转single byte char时则是把high byte去掉.
以上的东东是我自己猜测的, 不知道何处有相关资讯可以参考.
>==========================================================================< 发信人: [email protected] (叁心两意追女友), 信区: Java 标 题: Re: java与big5! 发信站: 暨大水沙连站 (Fri Mar 20 23:25:14 1998) 转信站: cis_nctu!news.cis.nctu!news.cs.nthu!news.tceb!ccnews.nchu!news.ncnu!wa
※ 引述《[email protected] (贤哥)》之铭言: : 最近在写处理中文的程式, 深深为unicode与big5所苦. 有些想法不知道是否正确, 请 : 大家指教! : java内部的字元是采用16bit unicode, 所以在win95平台上, java程式读入 : 一个文字档(其中包含中文与英文)到inputstream, java会将档案中的每个byte转成 : unicode来表示, 所以一个big5的中文字会变成两个unicode char. 等到要把所读入的 : 资料再写入另一个档案时, java会把每个unicode char转成single byte char(因为在 : win95平台上), 於是两个档案是一样的. 由於unicode的'\u0000'到'\u00ff'正对应 : single byte char, 所以我猜想当single byte 转unicode时是加上一个high byte, : unicode char 转single byte char时则是把high byte去掉. : 以上的东东是我自己猜测的, 不知道何处有相关资讯可以参考. 在JDK1.0里的确如此. 不过在JDK1.1以上的版本, 你可以用InputStreamReader 和OutputStreamWriter来做正确的转码动作.
-- ☆ 来源:.广州网易BBS站 bbs.nease.net.[FROM: 202.101.127.250]
|
|