Java中如何输出对勾,ASCII编码与字符串相互转换
Java中如何输出对勾?
最简单的方法是,从那个地方拷贝一个对勾的字符,然后
System.out.println("√");
但是心里总会担心,万一机器不认这个字符该怎么办?(可能是多余了)
如果我能找到它对应的ASCII编码就好了
第一反应就找来ASCII编码表来找它,还真有这个符号
在一张图片上看到,如下:

然后输出
System.out.println((char)251);
结果
û
根本不对。。。。
纠结了很久才知道:扩展ASCII 字符是从128 到255(0x80-0xff)的字符。扩展ASCII不再是国际标准。
对于java来说,编码为251的字符,就不是对勾。
所以应当找到对勾对应的编码,可以使用以下的代码
ASCII编码与字符串相互转换
public class MyAscii {
public static void main(String[] args) {
asciiToString(251);//ASCII转换为字符串
stringToAscii("√");//字符串转换为ASCII码
}
public static void asciiToString(int num){
System.out.println(num +" -> "+(char)num);
}
public static void stringToAscii(String str){
char[]chars=str.toCharArray();
for(int i=0;i<chars.length;i++){
System.out.println(chars[i]+" -> "+(int)chars[i]);
}
}
}
输出结果为:
251 -> û
√ -> 8730
可见对于java来说,对勾对应的编码其实是 8730
所以
System.out.println((char)8730);
即为所得。
可以比较查看,输出为true
String x = String.valueOf((char)8730);
String y ="√";
System.out.println(x.equals(y));
Java中如何输出对勾,ASCII编码与字符串相互转换的更多相关文章
- JAVA中集合输出的四种方式
在JAVA中Collection输出有四种方式,分别如下: 一) Iterator输出. 该方式适用于Collection的所有子类. public class Hello { public stat ...
- Java中直接输出一个类的对象
例如 package com.atguigu.java.fanshe; public class Person { String name; private int age; public Strin ...
- Java中Pattern类的quote方法将任何字符串(包括正则表达式)都转换成字符串常量,不具有任何匹配功能
Java中Pattern类的quote方法将任何字符串(包括正则表达式)都转换成字符串常量,不具有任何匹配功能. 下面是个例子: import org.junit.Test; import java. ...
- 在 Java 中不使用多余变量交换两个字符串
在 Java 中不使用多余变量交换两个字符串 public class Test { public static void main(String[] args) { String a = " ...
- java中的字符,字节和编码
1. 编码问题的由来,相关概念的理解 1.1 字符与编码的发展 从计算机对多国语言的支持角度看,大致可以分为三个阶段: 系统内码 说明 系统 阶段一 ASCII 计算机刚开始只支持英语,其它语言不 ...
- Java中的字节,字符与编码,解码
ASCII编码 ASCII码主要是为了表示英文字符而设计的,ASCII码一共规定了128个字符的编码(0x00-0x7F),只占用了一个字节的后面7位,最前面的1位统一规定为0. ISO-8859-1 ...
- java中使用MD5进行加密 BASE64Encoder 编码
原文地址:http://www.cnblogs.com/weiwangnuanyang/articles/4326336.html java中使用MD5进行加密 在各种应用系统的开发中,经常需 ...
- Java中byte与(16进制)字符串的互相转换
java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示,所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的16 ...
- Java中常用的API(三)——缓冲区字符串
前两节中分别介绍了Object和String,这一节主要介绍StringBuffer和StringBuilder. StringBuffer 由于String是不可变的,所以导致String对象泛滥, ...
随机推荐
- windows平台快速搭建Linux(CentOS)
VMware简介 VMware Workstation(简称 “虚拟机”)是一款功能强大的桌面虚拟计算机软件,用户可在Windows平台通过VMware软件同时运行不同的操作系统.这对IT开发人员而言 ...
- NPOI导Excel样式设置
一.创建一个Excel //创建一个工作簿 XSSFWorkbook workbook = new XSSFWorkbook(); //创建一个页 ISheet sheet = workbook.Cr ...
- [Oracle]OWI学习笔记--001
[Oracle]OWI学习笔记--001 在 OWI 的概念里面,最为重要的是 等待事件 和 等待时间. 等待事件发生时,需要通过 P1,P2,P3 查看具体的资源. 可以通过 v$session_w ...
- Oracle_安装说明
1.先到Oracle官网上下载11g oracle Database 11g 第 2 版 (11.2.0.1.0) 标准版.标准版 1 以及企业版 适用于 Microsoft Windows (x64 ...
- Linux Namespace : PID
PID namespace 用来隔离进程的 PID 空间,使得不同 PID namespace 里的进程 PID 可以重复且互不影响.PID namesapce 对容器类应用特别重要, 可以实现容器内 ...
- 一个高性能的对象属性复制类,支持不同类型对象间复制,支持Nullable<T>类型属性
由于在实际应用中,需要对大量的对象属性进行复制,原来的方法是通过反射实现,在量大了以后,反射的性能问题就凸显出来了,必须用Emit来实现. 搜了一圈代码,没发现适合的,要么只能在相同类型对象间复制,要 ...
- RSA加密算法深入篇
如果你问我,哪一种算法最重要? 我可能会回答"公钥加密算法". 因为它是计算机通信安全的基石,保证了加密数据不会被破解.你可以想象一下,信用卡交易被破解的后果. 进入正题之前,我先 ...
- 《Linux内核分析》实践3
<Linux>实践--程序破解 一.掌握NOP.JNE.JE.JMP.CMP汇编指令的机器码 NOP:NOP指令即"空指令".执行到NOP指令时,CPU什么也不做,仅仅 ...
- QT QProgressBar QProgressDialog 模态,位置设置,无边框,进度条样式
一 关于模态设置 QProgressDialog可以设置模态(需要在new的时候传入parent),QProgressBar设置不好: 只有dialog可以设置模态,widget不能设置模态(QPr ...
- Post Tuned Hashing,PTH
[ACM 2018] Post Tuned Hashing_A New Approach to Indexing High-dimensional Data [paper] [code] Zhendo ...