Java中的编码格式
来源:互联网 发布:工厂下料软件 编辑:程序博客网 时间:2024/05/22 02:12
Java中的编码
- gbk编码 中文占用2个字节,英文占1个字节;
- utf-8编码 中文占用3个字节。,英文占用1个字节;
- Java是双字节编码 (utf-16be) utf -16be 中文占2个字节,英文占2个字节
具体代码块
package com.zhb.java;public class EncodeDemo { public static void main (String[] args) throws Exception { String s ="你好abc"; //gbk编码 中文占用2个字节,英文占1个字节 System.out.println("-----gbk编码-----"); byte[] bytes1 =s.getBytes("gbk"); for (byte b : bytes1) { //把字节(转换成 int)以16进制方式显示 // & 0xff 把前24个0 去掉,只留后8位具体解释看后面 System.out.print(Integer.toHexString(b & 0xff)+" "); } System.out.println("\n-----utf8编码-----"); //utf-8编码 中文占用3个字节。,英文占用1个字节 byte [] bytes2 = s.getBytes("utf-8"); for (byte b : bytes2) { System.out.print(Integer.toHexString(b & 0xff)+" "); } System.out.println("\n-----utf16be编码-----"); //Java是双字节编码 utf-16be // utf -16be 中文占2个字节,英文占2个字节 byte [] bytes3 = s.getBytes("utf-16be"); for (byte b : bytes3) { System.out.print(Integer.toHexString(b & 0xff)+" "); } System.out.println(); /** * 当你的字节序列是某种编码时,这个时候想把字节序列变成 * 字符串,也需要这种编码方式,否则出现乱码 */ String str1 = new String (bytes3); //出现乱码,与你设置的编码格式有关 System.out.println(str1); String str2 = new String (bytes3,"utf-16be"); System.out.println(str2); }}
代码块执行结果
—–gbk编码—–
c4 e3 ba c3 61 62 63
—–utf8编码—–
e4 bd a0 e5 a5 bd 61 62 63
—–utf16be编码—–
4f 60 59 7d 0 61 0 62 0 63
O`Y} a b c
你好 a b c
&0xff 的意义
我对 0xff 还是不是特别了解,为什么加上它就是可以去掉前24位呢?
我于是就把上面的代码 处理了下
这是为什么呢?f代表什么呢? 于是我查了下二进制和16进制之间的转换
可以知道前边的6个f 就是 二进制的24个1.
如果&0xff 就可以去掉 前面的24个1 同时保留后8位
我们知道&运算
1 & 1 = 1, 0 & 1 = 0
那么0xff 就是0000 0000 0000 0000 0000 0000 1111 1111
前24位不管是什么值只要&上都是0 ,后面8位是什么值显示什么值
0 0
- java中的编码格式
- java 中的编码格式
- Java中的编码格式
- JAVA中的编码格式问题
- struts2中的编码格式
- java中的utf-8、gbk、ISO8859-1格式编码
- Java 编码格式研究
- java编码格式模版
- java txt 编码格式
- Java编码格式规范
- java编码格式
- Java 编码格式
- java返回编码格式
- java编码格式
- JAVA编码格式转换
- java基础教程-编码格式
- Java基础:编码格式
- java常用编码格式
- Python运算符
- minigui 3.0.12移植
- iCloud配置问题(iOS 支持iCloud)
- 一种提高Android应用进程存活率新方法
- git学习
- Java中的编码格式
- UICollection scrollToItemAtIndexPath: 不工作的问题
- Linux查找
- POJ2584
- SymmetricDS 完全配置安装手册
- 网络基石 —— 带宽与宽带
- Gradle如果查看更多错误信息
- HTML网页开发学习笔记(燕十八)-26 背景图片
- Frogger poj2253 + 测试数据