java String转asc码,然后ascII再转四位的16进制数。

2023-12-23 09:34:40

?理论知识补充:

char是Java中的保留字,表示一种数据类型。与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode编码。不过8位的ASCII码包含在Unicode编码中,其值对应十进制的表示范围是0~127。

char是Java八大基本数据类型之一。

char在java中称为“字符型” 占2个字节。

字符常量是用单引号括起的一个字符,且字符常量在内存中存储的是该字符在Unicode字符集中的排序位置,即整数。

也就是说Unicode向下兼容ASCII码,当chars[i]的Unicode的值在1-127之间时,也是ASCII码的值。

也就是数字、英文和英文状态下的字符Unicode和ASCII码是通用的。中文和中文状态下的字符是ASCII码打印不了的,我写的“你的ASCII码是错误,应该是Unicode的表示是"4f60"。我就不处理了,hello word里多了个"你” 测试用的。一般用不到。

package com.hs.reader3.until;

public class T1 {
    public static void main(String[] args) {
        String str = "Hello,你World!";
        char[] chars = str.toCharArray();

        for (int i = 0; i < chars.length; i++) {
            int asciiValue = (int) chars[i];
            System.out.println(chars[i] + " 的 ASCII 值为:" + asciiValue);
            String s = Integer.toHexString((int) chars[i]);
            System.out.println(chars[i] + " 16进制 值为:" + s);
            int cut = 4 - s.length();
            if(s.length() < 4){
                for(int j = 0;j < cut ;j++){
                    s = "0" + s;
                }
            }
            System.out.println(chars[i] + " 四位的 16进制 值为:" + s);
        }

    }



}

运行结果

Connected to the target VM, address: '127.0.0.1:57723', transport: 'socket'
H 的 ASCII 值为:72
H 16进制 值为:48
H 四位的 16进制 值为:0048
e 的 ASCII 值为:101
e 16进制 值为:65
e 四位的 16进制 值为:0065
l 的 ASCII 值为:108
l 16进制 值为:6c
l 四位的 16进制 值为:006c
l 的 ASCII 值为:108
l 16进制 值为:6c
l 四位的 16进制 值为:006c
o 的 ASCII 值为:111
o 16进制 值为:6f
o 四位的 16进制 值为:006f
, 的 ASCII 值为:44
, 16进制 值为:2c
, 四位的 16进制 值为:002c
你 的 ASCII 值为:20320
你 16进制 值为:4f60
你 四位的 16进制 值为:4f60
W 的 ASCII 值为:87
W 16进制 值为:57
W 四位的 16进制 值为:0057
o 的 ASCII 值为:111
o 16进制 值为:6f
o 四位的 16进制 值为:006f
r 的 ASCII 值为:114
r 16进制 值为:72
r 四位的 16进制 值为:0072
l 的 ASCII 值为:108
l 16进制 值为:6c
l 四位的 16进制 值为:006c
d 的 ASCII 值为:100
d 16进制 值为:64
d 四位的 16进制 值为:0064
! 的 ASCII 值为:33
! 16进制 值为:21
! 四位的 16进制 值为:0021
Disconnected from the target VM, address: '127.0.0.1:57723', transport: 'socket'

Process finished with exit code 0

文章来源:https://blog.csdn.net/somdip/article/details/135164570
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。