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

Java中的编码格式的更多相关文章

  1. Java中常见编码格式及乱码解决方法

    一:设置编码格式 1.JSP文件 charset=UTF-8 的作用是指定JSP向客户端输出的编码方式为"UTF-8",pageEncoding="UTF-8" ...

  2. Objective-C ,C++,java中常用编码格式对比

    这个题目可能不太对!主要总结一下这3种语言的不同格式 1.创建一个A类,继承B类,实现C接口(协议) 先看oc的代码 @interface A : B <C> { int a; } @pr ...

  3. Java中验证编码格式的一种方法

    package forlittlecatty; import java.io.File; import java.io.FileInputStream; import java.io.IOExcept ...

  4. 小白袍 -- Chapter 1 Java中的Encode与Decode

    前几天做一个邮件发送功能,一些常用信息配置在properties文件中,通过prop.getProperty(key)来获取配置的信息,结果配置文件中是用中文写的,邮件发送成功后,邮箱中的激活链接是乱 ...

  5. java中的编码和编码格式问题

    看来问的人和回答的人都不一定清楚什么是“编码和编码格式”,以及如何理解“java中字符串的编码”;首先明确几点: unicode是一种“编码”,所谓编码就是一个编号(数字)到字符的一种映射关系,就仅仅 ...

  6. [Java 进阶]Java中的国际化

    背景知识 现代软件开发,往往做出的应用程序不止给一个国家的人去使用.不同国家的人往往存在语言文字不通的问题.由此产生了国际化(internationalization).多语言(multi-langu ...

  7. 理清Java中的编码解码转换

    1.字符集及编码方式 概括:字符编码方式及大端小端 详细:彻底理解字符编码 可以通过Charset.availableCharsets()获取Java支持的字符集,以JDK8为例,得到其支持的字符集: ...

  8. 深入分析 Java 中的中文编码问题

    登录 (或注册) 中文 IBM 技术主题 软件下载 社区 技术讲座 打印本页面 用电子邮件发送本页面 新浪微博 人人网 腾讯微博 搜狐微博 网易微博 Digg Facebook Twitter Del ...

  9. [转]深入分析 Java 中的中文编码问题

    收益匪浅,所以转发至此 原文链接: http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/ 深入分析 Java 中的中文编码问题 编 ...

随机推荐

  1. Node.js 之 express 入门 ejs include公共部分

    1. 直接进入express安装 因为之前有一篇文章我已经讲过怎么安装node了 而网上的教程也是非常多.所有直接进入到express.教程简陋 由于我比较笨 所有只要写到我自己明白就行. 这里有个教 ...

  2. .NET基础拾遗(4)委托和事件2

    事件 事件是对象发送的消息,以发信号通知操作的发生.操作可能是由用户交互(例如鼠标单击)引起的,也可能是由某些其他的程序逻辑触发的. 引发事件的对象称为事件发送方.捕获事件并对其作出响应的对象叫做事件 ...

  3. ComboBox绑定数据源时触发SelectedIndexChanged事件的处理办法

    转载:http://blog.sina.com.cn/s/blog_629e606f01014d4b.html ComboBox最经常使用的事件就是SelectedIndexChanged.但在将Co ...

  4. UIAlertController的创建以及添加

    个人还是更喜欢以前的UIAlertView的创建方法,更新后的UIAlertController虽然说将UIAlertView和UIActionSheet的功能和作用以一种模块化替换的方式来代替,但是 ...

  5. asp.net mvc4 远程验证

    [HttpGet] public ActionResult CheckToolsIdExists(string ToolsID) { using (BaseContext context = new ...

  6. C#基本数据类型与C++区别

    与C++不同的地方: char占两个字节存Unicode字符, long long 改为 long ; unsize ... 改为 u... 新增: byte占1个字节,类似与C++char, sby ...

  7. C++Primer笔记(3)

    标准库类型string表示可变长的字符序列,使用前先包含string头文件.(哈哈,终于可以逃脱C语言中的str函数系列了.)因为是标准库的一部分,所以string被定义在命名空间std中.所以你懂该 ...

  8. MAC Intellij IDEA 常用快捷键

    MAC Intellij IDEA 常用快捷键 Copy by: http://blog.csdn.net/cym492224103/article/details/40077253 Keymap 设 ...

  9. List myList=new ArrayList()的理解

    ArrayList不是继承List接口,是实现了List接口.你写成ArrayList arrayList = new ArrayList();这样不会有任何问题.和List list = new A ...

  10. (2010-8-31) awk内存泄漏以及缓慢的正则表达式计算速度

    AWK内存泄露: 这几天本来就很郁闷,遇到搭建在hadoop平台上的hive平台有很多问题.写个好好的sql语句,总是说这个错误那个错误.然后,今天遇到一个更加郁闷的问题,居然分析淘宝数据的awk都运 ...