Java字符串编码和转换操作

简介: 在java程序的class里,字符串以utf-8编码保存。在程序处理中,需要进行字符串编码转换时,使用getByte指定编码。

在java程序中,定义的字符串,在class文件中,字符串是以utf-8进行保存的。

public class Hello1 {

    public static void main(String [] args) {
        System.out.println("aaaa长风aaaa");
    }
}

编译后,在class文件内,保存的字符串如下:

这里字符[长]的utf8-的编码:0xE995BF; [风]的utf8-的编码:0xE9A38E;

  1. 创建String时指定charset字符编码

    使用String(byte bytes[], String charsetName)构造字符串。字节数组必须是charsetName指定的编码。

    Constructs a new String by decoding the specified array of bytes using the specified charset. 
  2. String根据编码要求进行转换

    要进行字符串编码转换,先使用String.getBytes(String charsetName) 获取到指定编码的字节数组,然后通过该数组在进行处理。

说明:

String.getBytes(String charsetName) throws UnsupportedEncodingException

Encodes this String into a sequence of bytes using the named charset, storing the result into a new byte array.

在java 1.7中,新加入了StandardCharsets类,专门用来标示字符编码

public final class StandardCharsets {

    public static final Charset US_ASCII = Charset.forName("US-ASCII");

    public static final Charset ISO_8859_1 = Charset.forName("ISO-8859-1");

    public static final Charset UTF_8 = Charset.forName("UTF-8");

    public static final Charset UTF_16BE = Charset.forName("UTF-16BE");

    public static final Charset UTF_16LE = Charset.forName("UTF-16LE");

    public static final Charset UTF_16 = Charset.forName("UTF-16");
}
时间: 2024-11-05 20:39:59

Java字符串编码和转换操作的相关文章

分享万能java字符串编码转换工具类

代码下载地址:http://www.zuidaima.com/share/1795356301560832.htm 原文:分享万能java字符串编码转换工具类 package com.zuidaima.util; import java.io.UnsupportedEncodingException; /** * 转换字符串的编码 */ public class ChangeCharset { /** 7位ASCII字符,也叫作ISO646-US.Unicode字符集的基本拉丁块 */ publ

java字符串编码转换

java字符串编码转换方法: 1 /** 2 * 将UTF-8编码参数转换成ISO-8859-1编码 3 */ 4 private String convertToISO_8859_1(String param) { 5 String result = null; 6 if (null != param && !"".equals(param)) { 7 try { 8 result = new String(param.getBytes("UTF-8&quo

Java的进制转换操作(十进制、十六进制、二进制)

2014-05-06 17:34 吴文付 最近由于工作上的需要,遇到进制转换的问题.涉及到的进制主要是 十进制,十六进制,二进制中间的转换. 这里整理一下.具体的计划为:封装一个转换类,一个测试类. 1.十进制 转 十六进制: 2.十进制 转 二进制 3.十六进制 转 十进制: 4.十六进制 转 二进制: 5.二进制转 十进制: 6.二进制转十六进制: Java的进制转换操作(十进制.十六进制.二进制),布布扣,bubuko.com

JAVA字符串编码转换常用类

无论是对程序的本地化还是国际化,都会涉及到字符编码的转换的问题.尤其在web应用中常常需要处理中文字符,这时就需要进行字符串的编码转换,将字符串编码转换为GBK或者GB2312.一.关键技术点:    1.当前流行的字符编码格式有:US-ASCII.ISO-8859-1.UTF-8.UTF-16BE.UTF-16LE.UTF-16.GBK.GB2312等,其中GBK.GB2312是专门处理中文编码的.    2.String的getBytes方法用于按指定编码获取字符串的字节数组,参数指定了解码

python学习列表字符串字典集合文件操作字符串编码与转换

一.列表 1 names = "ZhangYang GuYun XiangPeng XuLiangchen" 2 names = ["ZhangYang", "GuYun", "XiangPeng", "ChengRongHua","XuLiangchen"] 3 names.append("LeiHaiDong") #在列表最后追加一个元素 4 names.inse

PHP 字符串编码的转换

原文链接:http://mangguo.org/php-string-encoding-convert-and-detect/ GBK 和 UTF-8 编码的转换是一个非常恶心的事情,比如像 PHP 中的 json_encode 本身根本不支持 GBK 形式的编码.有两个库函数能够支持编码的转换,通常能够想到的就是 iconv 函数,使用起来也非常爽: iconv('GBK', 'UTF-8//IGNORE', '芒果小站'); // 将字符串由 GBK 编码转换为 UTF-8 编码 但 ico

Java文件编码自动转换工具类

本篇随笔主要介绍了一个用java语言写的将一个文件编码转换为另一个编码并不改变文件内容的工具类: 通过读取源文件内容,用URLEncoding重新编码解码的方式实现. 1 public class ChangeFileEncoding { 2 public static int fileCount = 0; 3 public static String sourceFileRoot = "替换为要转换的源文件或源目录"; // 将要转换文件所在的根目录 4 public static

字符串编码的转换

1 package com.jdk7.chapter5; 2 3 import java.io.UnsupportedEncodingException; 4 5 public class ChangeCharsetTest { 6 //公共的唯一静态变量 7 public static final String US_ASCII = "US-ASCII"; 8 public static final String ISO_8859_1 = "ISO-8859-1"

Java字符串中文检测转换

public class ChineseUtils { public static void main(String[] args) { String str = "中国 (1).jpg"; try { String str2 = new String(str.getBytes("iso-8859-1"),"iso-8859-1"); System.out.println(str2); System.out.println(isMessyCode