作者sbrhsieh (sbr)
看板java
标题Re: [问题] 关於输出全形的符号
时间Tue Mar 31 17:56:39 2009
※ 引述《seanogptwn (ogp)》之铭言:
: 在数字键6的地方
: 有"^"的符号,是半形的
: 由於课业的需要,需要转换成全形"^ "
: 在程式中
: 顺利取得半形与全形符号的ASCII码,分别是94与65342
: 将ASCII 94转为char则正常显示^
: 但是将 65342转为char时,则出现"?"
65342 还在 char type 的值域内,将 65342 assign 给 char type variable 是
没问题的。
你提到出现 "?" 实际上是你把这个 char variable value 输出到某个你看的见
的装置(比如 console window 等等),而这个装置显示了 "?",这不表示 Java 不
支援这个全形符号,而是你输出的方式正不正确的问题。
如果你会以 Java 写 GUI based application,你可以把值为 65342 的 char 以
UI component 来呈现,你应该就可以看到类似 ︿ 的字。
另外,你可以考虑使用这个 0xFE3F(65087) unicode char,他看起来也是全形的
^: ︿ 。
: 全形符号有很多,但是好像只有这个符号有这样的问题
: 其余的!@$%&*()abcABC…之类都是正常显示
: 想请问这样的问题
: 是代表JAVA无法支援这个全形符号的输出??
: 还是有其他的方法可以解决这个问题??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.173.134.87
1F:→ seanogptwn:感谢您的细心解说 不过有new FileWriter 似乎也不行? 03/31 18:09
你没有弄懂。输出到档案以後你以何方式观察这个档案的内容?
输出到档案会牵涉到编码。
如果你把那个字元以 UTF-8 or UTF-16BE/LE 编码输出到档案,以支援 unicode 的
软体(比如浏览器)来浏览,你就可以看到此字的外观。
※ 编辑: sbrhsieh 来自: 218.173.134.87 (03/31 18:14)
2F:推 seanogptwn:感谢,我再试试看,如果有问题再向您请教 thx 03/31 23:20
3F:→ sbrhsieh:你可以改用 unicode point=65087 这个字,这个字有在 04/01 00:03
4F:→ sbrhsieh:big5/ms950/cp950 字集里(可以正确地以 big5 来编码) 04/01 00:05
5F:→ sbrhsieh:输出到字页码为 cp950 的 console 时不会失真成 '?' 04/01 00:07
6F:推 ogamenewbie:推专业, 这个我就讲不清楚了 :) 04/01 00:11
7F:推 seanogptwn:有试过sbr兄的提供的方法ok,用utf-8编码写入txt 也ok! 04/01 16:00