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. 安装VMware Sphere ESXi 5.5

    安装VMware Sphere ESXi 5.5 1.准备 待安装ESXi 5.5的机器需要大于2GB以上内存,并且支持64位和虚拟化. 下载:VMware-VMvisor-Installer-5.5 ...

  2. 转载:android——eclipse如何去除Ctrl+shift+R组合键查找到的.class文件

    转载自:http://blog.csdn.net/virgilli/article/details/22500409 AS里面的build文件下一堆的.class 文件,当你要定位资源文件的时候,有些 ...

  3. C# 导出Excel 多个Sheet

    以下代码中最关键的代码是 Worksheet mSheet = (Microsoft.Office.Interop.Excel.Worksheet)mBook.Worksheets.Add(miss, ...

  4. oracle得到拼音函数

    CREATE OR REPLACE FUNCTION fgetpy (v_str VARCHAR2)   RETURN VARCHAR2AS   v_strlen   INT;   v_return  ...

  5. ajax例子

    <!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...

  6. 《第一行代码》学习笔记7-活动Activity(5)

    1.Intent中只能指定一个action,但却能指定多个category. 2.使用隐式Intent,不仅可以启动自己程序内的活动,还可以启动其他程序的活动,使得Android应用程序之间 的功能共 ...

  7. Silverlight 设置颜色

    透明色:00ff00ff //设置柱状图的颜色                ColorSet cs = new ColorSet();                cs.Id = "co ...

  8. MFC中使用ADO方式连接数据库

    文章转自:http://blog.sina.com.cn/s/blog_a43aba5601014z8h.html 一.数据库操作准备 1.导入ADO动态链接库 在工程的stdafx.h中加入如下语句 ...

  9. javascript的prototype原理理解

    prototype是函数的内置属性,每一个function都拥有这样一个属性,在js的面向对象编程上,prototype发挥着强大的作用. 某天,春哥问我你知道prototype的原理吗?我突然懵了, ...

  10. dedecms友情链接flink的调用方法

    标记名称:flink[标签简介][功能说明]:用于获取友情链接,其对应后台文件为"includetaglibflink.lib.php".[适用范围]:全局标记,适用V55,V56 ...