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));

     

  • 相关阅读:
    手机qq2005 没声音
    使用VBS访问外部文本文件一些方法和脚本实例
    sqlserver 备份恢复 学习笔记
    SQL Server中truncate、delete和drop的异同点
    性能诊断
    列整合一例
    XML导入属性数据【经典】
    读取文本行
    利用TcpClient TcpListener 实现发送图片
    德云社的十三香词
  • 原文地址:https://www.cnblogs.com/acm-bingzi/p/javaAscii.html
Copyright © 2011-2022 走看看