java 字符码_Java字符编码

编码原理介绍(中文编码杂谈):

int -> byte可以直接使用强制类型转换: byte b = (byte) aInt;这个操作是直接截取int中最低一个字节,如果int大于255,则值就会变得面目全非了

byte -> int这里有两种情况,一种是要求保持值不变,例如进行数值计算,可采用强制类型转换:int i = (int) aByte;另一种是要求保持最低字节中各个位不变,3个高字节全部用0填充,例如进行编解码操作,则需要采用位操作(只要后8位):int i = b & 0xff;

/**采用UTF-8编码**/

public static void main(String[] args) {

print("中");

System.out.println("16进制转int进制:" + Integer.parseInt("E4", 16));

System.out.println("16进制转byte进制:" + (byte) 0xE4);

System.out.println("int转byte进制:" + (byte) 228);

System.out.println("byte进制转int进制:" + (-28 & 0xff));

}

/**字符转换为十进制数字**/

public static void print(String str) {

if(str == null || str.equals("")) return;

byte[] test = str.getBytes();

String result = "";

for (byte b : test) {

result += "," + (b & 0xff);

}

System.out.println(result.substring(1));

}

运行结果:

228,184,173

16进制转int进制:228

16进制转byte进制:-28

int进制转byte进制:-28

byte进制转int进制:228

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值