JAVA字符编码测试
几点注意:
1,ASCII码和ISO-8859-1都是单字节编码,ASCII码能表示128个字符,ISO-8859-1总共能表示256个字符。都不能表示中文,如果中文字符或其它不在IOS-8859码值范围内的字符会统一用3f表示(显示为"?", 通常所说的"黑洞");
2,GBK兼容GB2312,是双字节编码,GB2312包含6763个汉字,GBK包含21003个汉字;
3,UTF-16为定长双字节编码,大大简化了字符串的操作,但是会浪费存储空间。JAVA以UTF-16作为内存存储格式(见编码测试输出source行);
4,UTF-8采用变长,不同类型的字符可以由1~6个字节组成(汉字一般3个字节)。UTF-8规则如下:
- 如果是1个字节,最高位(第8位)为0,则表示这是1个ASCII字符(00~7F)。可见,所有的ASCII编码已经是UTF-8了。
- 如果是1个字节,以11开头,则连续的1的个数暗示这个字符的字节数,例如:110xxxxx代表它是双字节UTF-8字符的首字节。
- 如果是1个字节,以10开头,表示它不是首字节,则需要向前查找才能得到当前字符的首字节。
测试代码:
package com.test.main;
public class TestCode {
public static void encode(){
String name = "淘!我喜欢!";
toHex(name.toCharArray());
String [] codeType = {"ISO-8859-1", "GB2312", "GBK", "UTF-16", "UTF-8"};
for (String type : codeType) {
try {
byte [] bytes = name.getBytes(type);
toHex(type, bytes);
} catch (Exception e) {
e.printStackTrace();
}
}
}
private static void toHex(String name, byte[] charArray) {
System.out.print(String.format("%-15s", name + ":"));
for (int i = 0; i < charArray.length; i++) {
System.out.print(String.format("%-4x ", charArray[i]));
}
System.out.println();
}
private static void toHex(char[] charArray) {
System.out.print(String.format("%-15s","source:"));
for (int i = 0; i < charArray.length; i++) {
System.out.print(String.format("%-4x ", (int)charArray[i]));
}
System.out.println();
}
public static void main(String[] args) {
encode();
}
}
输出:
aaarticlea/png;base64,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" alt="" />
JAVA字符编码测试的更多相关文章
- 【JAVA编码】 JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
http://blog.csdn.net/qinysong/article/details/1179489 这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记 ...
- JAVA字符编码二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
第二篇:JAVA字符编码系列二:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换 1.函数介绍 在Java中,字符串用统一的Unicode编码,每个字符占用两个字节,与编码有 ...
- 【字符编码】Java字符编码详细解答及问题探讨
一.前言 继上一篇写完字节编码内容后,现在分析在Java中各字符编码的问题,并且由这个问题,也引出了一个更有意思的问题,笔者也还没有找到这个问题的答案.也希望各位园友指点指点. 二.Java字符编码 ...
- Java 字符编码归纳总结
String newStr = new String(oldStr.getBytes(), "UTF-8"); java中的String类是按照unicode进行编码的 ...
- 【JAVA编码专题】 JAVA字符编码系列三:Java应用中的编码问题
这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...
- 【JAVA编码专题】JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础
这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...
- Java 字符编码(二)Java 中的编解码
Java 字符编码(二)Java 中的编解码 java.nio.charset 包中提供了一套处理字符编码的工具类,主要有 Charset.CharsetDecoder.CharsetEncoder. ...
- Java 字符编码(三)Reader 中的编解码
Java 字符编码(三)Reader 中的编解码 我们知道 BufferedReader 可以将字节流转化为字符流,那它是如何编解码的呢? try (BufferedReader reader = n ...
- Java 字符编码(一)Unicode 字符编码
Java 字符编码(一)Unicode 字符编码 Unicode(http://www.unicode.org/versions/#TUS_Latest_Version) 是一个编码方案,说白了希望给 ...
随机推荐
- collections模块—— Counter
ounter目的是用来跟踪值出现的次数.它是一个无序的容器类型,以字典的键值对形式存储,其中元素作为key,其计数作为value.计数值可以是任意的Interger(包括0和负数).Counter类和 ...
- 记一名软件实施自学转Java开发,附学习计划
2015年毕业到现在已经3年了,而我转型开发已经有一年的时间了.写这篇文章除了记录,主要还是想分享一些经历给想要转型开发的同学们,不要走那些我走过的弯路. 2015年入职了第一家公司,当时是做的分销系 ...
- Security-OAuth2.0 密码模式之客户端实现
我的OAuth2.0 客户端项目目录 pom 的配置 <?xml version="1.0" encoding="UTF-8"?> <proj ...
- Protocol Buffers介绍及例子
Protocol Buffers介绍及例子 Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化.它很适合做数据存储或数据交换格式.可用于通讯协 ...
- STM32-RTC实时时钟-毫秒计时实现
OS:Windows 64 Development kit:MDK5.14 IDE:UV4 MCU:STM32F103C8T6 1.RTC时钟简介 STM32 的实时时钟(RTC)是一个独立的定时器, ...
- JVM调优总结 -Xms -Xmx -Xmn -Xss(转自:iteye unixboy)
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存限制.32位系统下,一般限制在1.5G~2G:64为操作 ...
- TX2 i2c-tools使用
安装: apt-get install libi2c-dev i2c-tools 检测i2c总线数目 用i2cdetect检测有几组i2c总线在系统上: i2cdetect -l 可以看到系统中有9组 ...
- Developer Friendly | 基础设施即代码的事实标准Terraform已支持京东云!
Developer Friendly | 基础设施即代码的事实标准Terraform已支持京东云! Chef.Puppet.Ansible.SaltStack 都可以称为配置管理工具,这些工具的主要目 ...
- java 字符串(String)常用技巧及自建方法模块汇总
1.String类常用方法汇总 (1)删除字符串的头尾空白符 public String trim() (2)从指定位置截取字符串 public String substring(int beginI ...
- Codeforces Round #555 (Div. 3) C2. Increasing Subsequence (hard version)【模拟】
一 题面 C2. Increasing Subsequence (hard version) 二 分析 需要思考清楚再写的一个题目,不能一看题目就上手,容易写错. 分以下几种情况: 1 左右两端数都小 ...