2010-10-26 137 views
5

如何獲取字符串中的字符±在Java中顯示±符號

+7

只需粘貼它?你是怎麼把它放到你的StackOverflow問題中的? – 2010-10-26 16:34:30

+4

你剛剛做到了... – 2010-10-26 16:34:33

+1

你有沒有嘗試過把這個符號放在字符串中?如果這不起作用,請嘗試計算出該字符的Unicode值並將其放入\ uXXXX中。 – robbrit 2010-10-26 16:34:33

回答

17

使用Unicode:\u00B1

System.out.println("Hello \u00B1 world"); 

打印:

Hello ± world 
+0

如果你不知道Unicode代碼點的東西,谷歌。 「unicode plus minus」 - > http://www.fileformat.info/info/unicode/char/b1/index.htm – 2010-10-26 17:07:14

+0

非常感謝...... Grodriguez – praveenb 2010-10-26 17:21:54

+1

@Alan Krueger:谷歌搜索「unicode plus減「是一個愚蠢的建議。當你不知道你正在看的角色的名字時,它並不是非常有用。例如,像這樣的一個,你會如何Google? '҉'。那時,剪切/粘貼和Un * x命令(如* hexdump *和* file *)很有用;)當然,您可以在Google中剪切/粘貼該字符,然後找到該字符,但建議使用像「unicode plus minus」這樣的文本沒有多大意義。 – SyntaxT3rr0r 2010-10-26 17:42:28

6

要把它放到你的字符串:\u00B1

Source

0

如果你的Linux系統上,你可以找到幾乎所有的十六進制代碼使用手冊頁iso_8859-1(7),iso_8859-10(7),iso_8859-13(7),iso_8859-14(7),iso_8859-15(7),iso_8859-16(7),iso_8859-2( (7),iso_8859-3(7),iso_8859-4(7),iso_8859-5(7),iso_8859-6(7),iso_8859-7(7),iso_8859-8(7),iso_8859-9(7) )。在那裏你會發現±的十六進制代碼是B1。那裏!!你現在擁有它。

0

(前提:源文件必須正確編碼UTF8/UTF16/Unicode)的

沒有什麼比這更簡單:

string s = "±"; 

注意的java字符串和標識符在UTF16總是被編碼,所以這是本機支持的。

+0

由於我無法始終保證源文件在寫入後會發生什麼,並且文件系統通常不會將字符編碼視爲文件的第一類屬性,所以如果它在Latin-1之外,我通常使用Unicode轉義。這樣看起來更安全。 – 2010-10-26 17:09:11

+0

先決條件?你可以用javac指定編碼嗎?例如'javac -encoding Cp1252'。 (我不會推薦這個...) – Ishtar 2010-10-26 17:10:50

+0

但是有UTF-8或UTF-16 * .java *源文件的人應該被拍攝!在這裏,我們有Windows,Linux和OS X上的開發人員**和**我們的構建腳本強制*每個.java文件*都是純ASCII的。爲什麼?經驗。乾淨利落。 – SyntaxT3rr0r 2010-10-26 17:47:48