java字符集 小结

通常而言,把明文的字符序列转换成计算机能理解的二进制序列称为编码,把二进制序列转换成普通人能看懂的明文字符串称为解码。

JDK1.4提供了Charset来处理字节序列和字符序列之间的转换关系,该类包含了用于创建解码器和编码器的方法,还提供了Charset所支持的字符集的方法,Charset类是不可变的。

Charset类提供了一个availableCharset()的静态方法来获取当前JDK所支持的所有字符集,下面小试牛刀

import java.nio.charset.Charset;
import java.util.SortedMap;
public class Test {
public static void main(String[] args) throws Exception
{
SortedMap<String,Charset> sm= Charset.availableCharsets();
for(String str:sm.keySet())
{
System.out.println(sm.get(str));
}
}
}结果如下

Big5
Big5-HKSCS
EUC-JP
EUC-KR
GB180  GBK  UTF-8 .......等

一旦知道了字符集的别名之后,程序就可以调用Charset的forName()来创建对应的Charset对象,forName()方法的参数就是相应字符集的别名

Charset cs=Charset.forName("ISO-8859-1");

Charset cs=Charset.forName("GBK");

获得了Charset对象的之后,就可已通过该对象的newDecode()和newEncode()这两个方法分别返回CharsetDecode和CharsetEncode对象,代表该Charset的解码器和编码器,调用CharsetDecode的decode()方法就可以将ByteBuffer转换成CharBuffer,调用CharsetEncode就可以将CharBuffer或String转换成ByteBuffer

package com.java.encryption.util;

import java.nio.ByteBuffer;import java.nio.CharBuffer;import java.nio.charset.Charset;import java.nio.charset.CharsetDecoder;import java.nio.charset.CharsetEncoder;

public class CharEncod { public static void main(String[] args) throws Exception {  Charset cs=Charset.forName("GBK");  CharsetDecoder cd=cs.newDecoder();  CharsetEncoder ce=cs.newEncoder();  CharBuffer cb=CharBuffer.allocate(6);  cb.put("中");  cb.put("国");  cb.put("人");  cb.flip();  ByteBuffer bb=ce.encode(cb);  for(int i=0;i<bb.capacity();i++)  {   System.out.println(bb.get(i));  }  System.out.println(cd.decode(bb)); }}

2014年1月26日 发布      0 次阅读
标签: java, import, charset, nio

相关文章

  • java字符集 小结

    通常而言,把明文的字符序列转换成计算机能理解的二进制序列称为编码,把二进制序列转换成普通人能看懂的明文字符串称为解码. JDK1.

      游戏数码      0      2014年1月26日
  • JAVA获取JVM的字符集

    今天碰见一个问题,两台服务器,一样的代码,运行结果出现了两种情况, 当时问题是文文章的标题,需要截取然后加上省略号,但是中间有中英文,我们要截取一个固定长度,这样就出现了由于字符集不同,有的一个字节存储,有的两个字节存储,如ASII码存储的是一个字节,GBK.UTF-8是两个字节存储汉字,这样就会出问题,下面我们将虚拟

      游戏数码      0      2014年7月9日
  • Java常见乱码问题总结

    乱码问题一直困扰着开发人员: 下面对java的乱码问题做一个小结: 一.编码的基础概念 首先,要想解决java中文乱码问题就有必要了解一下什么是字符,字符集,编码的概念.字符:是文字与符号的总称,包括文字.图形符号.数学符号等.字符集:就是一组抽象字符的集合.字符集常常和一种具体的语言文字对应起来,该文字中的所有字符或

      游戏数码      0      2014年1月26日
  • 怎样运用Java组件itext生成pdf

    怎样使用Java组件itext 生成pdf?iText是一个能够快速产生PDF文件的java类库.iText的java类对于那些要

      母婴教育      0      2013年4月26日
  • java多线程之线程的同步与锁定

    一.同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏. 例如:两个线程ThreadA.ThreadB

      游戏数码      1      2013年12月14日
  • java怎样连接数据库

    Java怎样连接各类数据库 方法/步骤 Java连接ACCESS数据库 在下面面的连接方法中,所涉及到的参数含义如下: *sun.

      游戏数码      0      2013年3月9日
  • Java 关于中文乱码处理的经验总结(经典)

    为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!如果中国的程序员不会遇到乱码,那么只有使用汉语编程.汉语编程是怎么回事我也不大清楚,应该是前年吧,我一朋友给我介绍汉语编程,如何不错不错?当时因为学习忙没去关注这个,等我闲了,那个朋友不弄这个,

      游戏数码      0      2015年4月16日
  • Java导出pdf文件中文编码问题解决方案

    在做web开发时,有时候需要导出pdf文件,但是众所周知,中文字符编码是一个严重的问题.那么今天就来分享下如何解决导出pdf和中文

      职场理财      1      2014年3月15日
  • JAVA中英文混合字符串截取

    做JAVA开发的,尤其是做JAVA Web开发的经常碰见中文字符显示不下的情况,需要我们做一下截取,但是中文字符在页面上占两个空格

      游戏数码      7      2014年7月10日
  • was怎样设置字符集

    最近在学习was使用时,遇到一个跟字符集相关的问题,这里给大家分享一下was怎样设置字符集. 工具/原料 WebSphere 方法

      游戏数码      0      2015年9月21日
  • 怎样给eclipse(myEclipse)设置字符集

    如果你编写好文件后,再次打开时发现如下图那样乱码了. 我只能说:"哥们,或许你该下字符集了". 如果你不会,OK,看下面的步骤. 方法/步骤 点击导航栏里的 window -> Preferences 选择 General -> Content Types 在右侧红框里选择你要修改编码的文件类型 (一般我们会用到CSS

      游戏数码      0      2013年6月30日
  • java正则表达式语法

    [正则表达式]文本框输入内容控制 整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$只能输入数字:"^[0-9]*$".只能输入n位的数字:"^\d{n}$".只能输入至少n位的数字:"^\d{n,}$".只能输入m~n位的数字:."^\d{m,n}$"只能输入零和非零开头的数字:"^(0|[1-9][0

      游戏数码      0      2013年12月12日
  • java写入csv中文繁体乱码

    java将内容写入csv文件后,中文繁体乱码如何解决,尝试了设置编码格式为utf-8,不过可能和excel打开时的编码方式有关,不好使.后来设置为gb2312,同样不好使,最后设置gbk解决问题.如下 工具/原料 eclipse 方法/步骤 FileOutputStream fos = new FileOutputSt

      游戏数码      2      2015年6月15日
  • JAVA日记:[31]javadoc的用法

    /** 在dos提示符中编译 生成文档的代码: javadoc -d . -author -version 类名.java 上面的

      游戏数码      0      2013年12月3日
  • java截取不能超过指定长度字符串的一个小技巧

    在我们做项目的时候会经常遇到需要截取指定长度的字符串的情况,尤其做打印时,字段是不能过长的,但又不能截取半个汉子,那怎么办呢?见过

      游戏数码      1      2016年1月21日
  • Java高级[8]:字节流与字符流的转换

    虽然Java支持字节流和字符流,但有时需要在字节流和字符流两者之间转换.InputStreamReader和OutputStrea

      母婴教育      0      2014年4月24日
  • VC++中应当注意对VC字符集的设置

    VC真是一个非常笨,非常不友好的工具,还是这样说,VC(MFC)和现在流行的.net framework java比起来就想石器时

      游戏数码      0      2011年4月7日
  • WebDriver之java篇

    selenium,一个有效的自动化测试工具,我主要介绍下关于怎样封装WebDriver,为一个比较轻松上手的自动化测试埋下铺垫 工

      游戏数码      0      2014年2月16日
  • java新手入门教程

    Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言. Java可运行于多个平台,如Windows, Mac OS,及其他多种UNIX版本的系统. Java的垃圾回收可以自动的管理和清理内存.清理内存工作转交给编译器后,程序员的负担大大减小. Android更是为Java注入新鲜血液

      游戏数码      0      2015年1月3日
  • Java连接MySQL数据库插入中文出现乱码

    用Java做界面,MySQL做数据库,如果不进行相应的设置,在数据库中插入中文时就会出现乱码!怎么办呢?看下面步骤! 工具/原料 eclipse开发工具 MySQL数据库 方法/步骤 出现这种情况一般都是字符集的问题,所以我们可以更改MySQL数据库的字符集! 重新配置数据库,找到数据库安装目录下的MySQLInsta

      游戏数码      0      2015年10月14日

大家都在看

  • 艾灸之后有水汽正常吗?是什么原因导致的?

    艾灸之后有水汽正常吗?是什么原因导致的?

    腹部湿湿的到底是在排湿气还是在出汗啊?当然不排除两者都有,在艾灸出汗的这一说法,很多资料没有细致的说法,据我临床经验,很多人开始艾
  • 乳腺不通,奶结不需要挤到痛死也可解决堵奶硬块

    乳腺不通,奶结不需要挤到痛死也可解决堵奶硬块

    产后乳腺不通,奶结硬块,腋窝下有肿块,不知道该怎麽办的快来看 方法/步骤 增加喂奶.挤乳次数:宝宝直接吸吮效果最佳,以手挤乳次之
  • 在国内怎样上Javlibrary

    在国内怎样上Javlibrary

    有关于Javlibrary站,具体就不介绍了.本身这个网站是打不开的!今天主要说的是教大家国内打开Javlibrary的方法 工具
  • 苹果手机如何把繁体改成简体,简繁字体调换

    苹果手机如何把繁体改成简体,简繁字体调换

    苹果手机有些手机默认的字体都是繁体字体,尤其是在港澳台那一带的.基本上都是还在使用繁体字体,那么怎样才能把繁体字体秀改成简体字体呢
  • 母狗生了小狗奶结块的征兆和解决方法

    母狗生了小狗奶结块的征兆和解决方法

    母狗生了小狗第三天就不如何吃东西了,母狗第一胎生了四只小狗生了第三天就不如何吃东西了.这个时候一定要注意狗狗是不是奶结块了. 工具/原料 母狗 方法/步骤 母狗奶结块的征兆:生小狗少于6只左右.我们的小灰灰第一窝生了四只小狗,生完头两天的饭量还是相当大的,到了第三天的时候母狗就不如何吃东西了.老是跟着我转. 奶结块:经

猜你喜欢

  • 如何准确鉴别液体壁纸漆的质量好坏

    液体壁纸漆是一种全新概念的新型艺术涂料,它不是墙纸,却胜似墙纸,它具有可以无缝连接.拒绝褪色.从不起皮.绝不开裂.高度自洁.易于清
  • 如何增强博文的趣味性

    趣味性强的博文可以给人非常良好的心理暗示,它不仅仅是搞笑这样一层含义,不是抽搐完就完事了.趣味性的博文既可以让人快乐起来,又可以让
  • 微信如何发表朋友圈

    微信如何发表朋友圈

    微信软件现在运用非常广泛,包括平时社交,工作都会用到微信软件.所以我们日常生活中遇到的美好事物都是发到微信朋友圈分享给自己的朋友.
  • 夏天怎样降火气,5招教你轻松去火降温

    夏天怎样降火气,5招教你轻松去火降温

    盛夏来袭,温度高升,身心烦躁,身体温度高,而且会出现中暑.长痘痘.嘴巴干裂破皮等所谓的"大火气"现象. 在这样的天气中,我教给大家
  • 睡觉的时候千万不要让这些东西放在枕边

    睡觉的时候千万不要让这些东西放在枕边

    人的一生中约三分之一的时间是在睡眠中度过.当人体处在睡眠状态时,全身放松,身体的各个器官都能得到最好的休息.所以才会有"不觅仙方觅睡方"的谚语流传至今. 但如果,忽略了睡眠中的一些细小事情,会对健康不利,甚至会让你短命几十年.不想做个短命鬼,就赶快看看有哪些需要注意的吧! 方法/步骤 戴"表"睡觉 镭辐射真不小 有的人

专题云