精華區beta java 關於我們 聯絡資訊
※ 引述《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
seanogptwn:感謝您的細心解說 不過有new FileWriter 似乎也不行? 03/31 18:09
你沒有弄懂。輸出到檔案以後你以何方式觀察這個檔案的內容? 輸出到檔案會牽涉到編碼。 如果你把那個字元以 UTF-8 or UTF-16BE/LE 編碼輸出到檔案,以支援 unicode 的 軟體(比如瀏覽器)來瀏覽,你就可以看到此字的外觀。 ※ 編輯: sbrhsieh 來自: 218.173.134.87 (03/31 18:14)
seanogptwn:感謝,我再試試看,如果有問題再向您請教 thx 03/31 23:20
sbrhsieh:你可以改用 unicode point=65087 這個字,這個字有在 04/01 00:03
sbrhsieh:big5/ms950/cp950 字集裡(可以正確地以 big5 來編碼) 04/01 00:05
sbrhsieh:輸出到字頁碼為 cp950 的 console 時不會失真成 '?' 04/01 00:07
ogamenewbie:推專業, 這個我就講不清楚了 :) 04/01 00:11
seanogptwn:有試過sbr兄的提供的方法ok,用utf-8編碼寫入txt 也ok! 04/01 16:00