zoukankan      html  css  js  c++  java
  • 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));

     

  • 相关阅读:
    Rabbitmq
    eclipse查看源码
    winSCP:无权访问
    jdk1.8.0环境变量设置
    【Linux】开放指定端口设置
    Redis (windows)安装
    [转]Windows8下设置VS默认启动方式为管理员启动
    [转]varchar(n),nvarchar(n) 长度、性能、及所占空间分析
    [转]Linq中GroupBy方法的使用总结
    [转]人人网首页拖拽上传详解(HTML5 Drag&Drop、FileReader API、formdata)
  • 原文地址:https://www.cnblogs.com/acm-bingzi/p/javaAscii.html
Copyright © 2011-2022 走看看