Java中如何輸出對勾,ASCII編碼與字符串相互轉換


Java中如何輸出對勾?

最簡單的方法是,從那個地方拷貝一個對勾的字符,然后
System.out.println("√");

但是心里總會擔心,萬一機器不認這個字符該怎么辦?(可能是多余了)
如果我能找到它對應的ASCII編碼就好了

第一反應就找來ASCII編碼表來找它,還真有這個符號
在一張圖片上看到,如下:

然后輸出
System.out.println((char)251);
結果
û
根本不對。。。。

糾結了很久才知道:擴展ASCII 字符是從128 到255(0x80-0xff)的字符。擴展ASCII不再是國際標准。
對於java來說,編碼為251的字符,就不是對勾。


所以應當找到對勾對應的編碼,可以使用以下的代碼

ASCII編碼與字符串相互轉換

 1 public class MyAscii {
 2     public static void main(String[] args) {
 3         asciiToString(251);//ASCII轉換為字符串
 4         stringToAscii("√");//字符串轉換為ASCII碼
 5     }
 6     
 7     public static void asciiToString(int num){
 8         System.out.println(num +" -> "+(char)num);
 9     }
10     
11     public static void stringToAscii(String str){
12         char[]chars=str.toCharArray();
13         for(int i=0;i<chars.length;i++){
14             System.out.println(chars[i]+" -> "+(int)chars[i]);
15         }
16     }
17 }

 

輸出結果為:
251 -> û
√ -> 8730

可見對於java來說,對勾對應的編碼其實是 8730
所以
System.out.println((char)8730);
即為所得。

可以比較查看,輸出為true
String x = String.valueOf((char)8730);
String y ="√";
System.out.println(x.equals(y));

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM