- 浏览: 276335 次
- 性别:
- 来自: 北京
最新评论
-
gotosuzhou:
好的 谢谢分享
Spring 事务异常回滚 -
cd249745647:
哈哈
Spring MVC REST 例子 -
向日葵上的小蜜蜂:
代码都差不多贴出来了,为啥不直接提供下载呢
Spring MVC REST 例子 -
he3109006290:
我猜它应该有个算法,当出现长时间处理的情况的,它自动会启动另外 ...
netty 疑惑 -
yanghoho6:
很好, 学习了,
oracle基本的索引概念.doc
import java.io.IOException; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; import java.util.Set; public class Test { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { String str = "Hello台灣-台湾-중국어123-!@#-,./"; //String str = "Hello台灣-台湾123-!@#-,./"; Set<String> charSetKey = Charset.availableCharsets().keySet(); List<String> supportChinaCharsetList = new ArrayList<String>(); for (String charSet : charSetKey) { try { String result = new String(str.getBytes(charSet), charSet); System.out.println(charSet+": " + result); if (result.equals(str)) { supportChinaCharsetList.add(charSet); } } catch (Exception e) { System.out.println(charSet + " UnsupportedEncoding"); } } System.out.println(supportChinaCharsetList); } static void print(byte[] bytes) { for (byte b : bytes) { System.out.print(b); } System.out.println(); } }
运行结果如下:
String : Hello台灣-台湾123-!@#-,./ getBytes By Big5 is :72101108108111-91120-588745-91120634950514533643545444647
Hello台灣-台?123-!@#-,./
String : Hello台灣-台湾123-!@#-,./ getBytes By Big5-HKSCS is :72101108108111-91120-588745-91120634950514533643545444647
Hello台灣-台?123-!@#-,./
String : Hello台灣-台湾123-!@#-,./ getBytes By EUC-JP is :72101108108111-62-26-33-4445-62-26-49-474950514533643545444647
Hello台灣-台湾123-!@#-,./
.
.
.
.
String : Hello台灣-台湾123-!@#-,./ getBytes By x-windows-50221 is :72101108108111273666661029584274066452736666610279812740664950514533643545444647
Hello台灣-台湾123-!@#-,./
String : Hello台灣-台湾123-!@#-,./ getBytes By x-windows-874 is :7210110810811163634563634950514533643545444647
Hello??-??123-!@#-,./
String : Hello台灣-台湾123-!@#-,./ getBytes By x-windows-949 is :72101108108111-9-69-40-6745-9-69634950514533643545444647
Hello台灣-台?123-!@#-,./
String : Hello台灣-台湾123-!@#-,./ getBytes By x-windows-950 is :72101108108111-91120-588745-91120634950514533643545444647
Hello台灣-台?123-!@#-,./
String : Hello台灣-台湾123-!@#-,./ getBytes By x-windows-iso2022jp is :72101108108111273666661029584274066452736666610279812740664950514533643545444647
Hello台灣-台湾123-!@#-,./
支持中文编码集合
[EUC-JP, GB18030, GBK, ISO-2022-JP, Shift_JIS, UTF-16, UTF-16BE, UTF-16LE, UTF-8, windows-31j, x-euc-jp-linux, x-EUC-TW, x-eucJP-Open, x-IBM33722, x-IBM930, x-IBM939, x-IBM942, x-IBM942C, x-IBM943, x-IBM943C, x-mswin-936, x-PCK, x-windows-50220, x-windows-50221, x-windows-iso2022jp]
再看下面这个例子,如果大家把这个弄清楚,编码问题应该不是问题了
import java.io.UnsupportedEncodingException; public class A { public static void main(String[] args) throws UnsupportedEncodingException { /** * -52 -88 -51 -27 -52 -88 -51 -27 -52 -88 -51 -27 -52 -88 -51 -27 台湾 */ transfer("台湾","gb2312","ISO-8859-1"); /** * -52 -88 63 -52 -88 63 -52 -88 63 -52 -88 63 台? */ transfer("台灣","gb2312","ISO-8859-1"); /** * -52 -88 -98 -77 -52 -88 -98 -77 -52 -88 -98 -77 -52 -88 -98 -77 台灣 */ transfer("台灣","gbk","ISO-8859-1"); /** * 63 63 63 63 63 63 63 63 ?? */ transfer("台灣","ISO-8859-1","gbk"); /** * -27 -113 -80 -25 -127 -93 -27 -113 -80 -25 -127 -93 -27 -113 -80 -25 -127 -93 -27 -113 -80 -25 -127 -93 台灣 */ transfer("台灣","utf-8","ISO-8859-1"); /** * 63 63 63 63 63 63 63 63 ?? */ transfer("台灣","ISO-8859-1","utf-8"); /** * -27 -113 -80 -25 -127 -93 -27 -113 -80 -25 -127 -93 -27 -113 -80 -25 -127 -93 -27 -113 -80 -25 -127 -93 台灣 */ transfer("台灣","utf-8","gbk"); /** * -52 -88 -98 -77 -52 -88 -17 -65 -67 -17 -65 -67 -52 -88 -17 -65 -67 -17 -65 -67 -52 -88 -17 -65 -67 -17 -65 -67 台锟斤拷 */ transfer("台灣","gbk","utf-8"); } static void transfer(String str, String set1, String set2) throws UnsupportedEncodingException { //encode //把str使用set1编码获取bytes,然后把bytes使用set2编码转换成字符串 String set2String = new String(str.getBytes(set1), set2); //打印str的set1编码bytes print(str.getBytes(set1)); //打印转换后的set2编码的bytes print(set2String.getBytes(set2)); //decode //使用set2的编码获取原始bytes,然后使用set1编码转换成字符串 String set1String = new String(set2String.getBytes(set2), set1); print(set2String.getBytes(set2)); print(set1String.getBytes(set1)); System.out.println(set1String); System.out.println(); System.out.println(); } static void print(byte[] bys) { for (byte b : bys) { System.out.print(b+" "); } System.out.println(); } }
发表评论
-
自增 自减 java和c的区别
2012-03-10 15:57 1441JAVA public class Test { ... -
瞎聊系统性能优化
2012-02-19 23:46 1145一个系统中影响性能的无非就是CPU计算能力,磁盘、网络的读写能 ... -
在tomcat中,通过IP访问web系统,不需要端口号的方法(转)
2012-02-06 11:10 8885源文章地址:http://sinian.iteye.com/b ... -
java 编码
2012-02-02 18:23 1166先看一个字符串 String str = &qu ... -
javassist与classLoader
2012-02-02 15:22 4292javassist.jar是个非常 ... -
tcp 和 java socket
2011-12-31 12:52 2815tcp socket 总结点 1 ... -
netty 疑惑
2011-12-01 18:27 2703netty的nio 模式如下 一个线程Boss使用 ... -
Apache Tomcat http_proxy 连接方式配置
2011-11-02 18:03 56041、安装Tomcat ,为了使域名保持一致,在conf\Cat ... -
谈线程池
2011-10-27 12:47 1520线程池原理:用指定数 ... -
设置tomcat启动参数
2011-09-15 16:58 1524window: 在catalina.bat 文件的开始处添加如 ... -
通过反汇编class看i++和++i的区别
2011-08-17 14:32 2108public void method4() ... -
hotspot 控制参数
2011-08-17 09:25 1301文档来源于 http://www.oracle.com ... -
Spring 事务异常回滚
2011-08-16 10:10 11133先看如下代码 @Transactional ... -
java IO和NIO测试
2011-08-11 12:08 1608测试环境:cpu:Q9500 4核 频率2.83GHZ ... -
静态锁和实例锁
2011-07-28 18:21 1950Java中可以对静态方法和实例方法使用synchroni ... -
BASE64 和Dom4j
2011-07-20 09:45 1301项目当中用到MD5做消息摘要,后通过BASE64转成字符 ... -
jetty httpServer和java6内置httpServer比较
2011-07-19 12:03 3059测试情况是客户端100个线程同时同时请求10000次,服务器端 ... -
Jetty HttpClent 异常
2011-07-15 13:48 1233使用Jetty HttpClent做异步请求,结果发现这 ... -
关于Hibernate延迟加载
2011-07-14 17:42 1085package com.lottery.test; ... -
Jetty内嵌Http服务器
2011-07-14 11:13 3389本例只是以HttpServlet方式实现,更多的方式可以通过h ...
相关推荐
在本实验报告中,我们将深入探讨Java字符流的使用,特别是在文件操作中的应用。Java字符流主要用于处理基于Unicode编码的字符数据,它分为输入流(Reader)和输出流(Writer),用于读取和写入字符数据。 实验的...
Java中文字符编码探究 Java中文字符编码探究是Java开发者经常遇到的问题之一。在处理中文时,乱码问题是无法避免的。这篇论文通过大量的实验和编码知识支持,探索了Java在不同介质中对汉字的编码,解决了以不同字符...
在Java编程语言中,字符串(String)是至关重要的数据类型,用于处理文本信息。字符串是不可变的,这意味着一旦创建,就不能更改其...通过学习和实践这些示例,开发者可以更好地掌握Java字符串操作的技巧,提升编程能力。
5. **字符编码**:理解ASCII码、Unicode和UTF-8等字符编码体系,以及它们在处理多语言字符串时的作用。 6. **字符串函数库**:学习并使用编程语言提供的内置字符串函数,如C++的std::string类库,Python的str模块,...
Java的I/O库非常强大,包括了流(Streams)、缓冲区(Buffer)、字符编码(Encodings)和对象序列化(Serialization)等多个方面。在这个实验中,可能使用了`java.io`和`java.nio`包下的类,如`InputStream`、`OutputStream`...
在Java中,字符型数据类型的长度为16位,可以表示65536个不同的字符。`char`类型的变量通常用于存储单个字符,例如 `'a'` 或 `'B'`。 ### 2. 数组(Array) 数组是Java中最基本的数据结构之一,用于存储固定大小的同...
在提供的压缩包中,"20105333-算法-袁有根-算术编码 java实现"可能是实现算术编码的Java源代码,而"20105333-算法-袁有根-算术编码 java实现.doc"则可能包含了实验报告,详细解释了程序的设计思路、实现细节以及实验...
4. OCR(光学字符识别)技术用于将扫描或照片中的打印文字转换成机器编码文本,通常用在文档扫描和数字化过程中。文中提到的识别错误可能指扫描文件时未能正确识别文本,这在将纸质文档转为电子版时是一个常见问题。...
压缩包中的文件名看起来可能是经过编码或非标准字符表示的,这通常是由于文件名包含了特殊字符或者非ASCII字符导致的。在实际操作中,学习者需要正确解压文件,确保所有项目工程文件能够完整恢复,以便于运行和分析...
在构建哈夫曼树的过程中,频率低的字符对应较短的编码,频率高的字符对应较长的编码,这样可以使得高频字符在编码过程中占用较少的位数,从而达到压缩数据的目的。这个过程包括以下步骤: 1. **频率统计**:首先,...
通过实验,学生可以了解Unicode编码和Java语言的字符串处理。 8. 编程实验:分析输入的数字 本实验中,学生需要编写一个Java程序,分析输入的数字。通过实验,学生可以了解Java语言的输入输出处理和数字处理。 三...
如果处理的是文本文件,通常推荐使用字符流,因为它们能自动处理字符编码。 4. **缓冲流**:为了提高效率,Java提供了带有缓冲功能的BufferedInputStream和BufferedOutputStream。它们会在内存中创建一个缓冲区,...
首先判断输入字符串长度是否位 8,在编码得出字符串中数字有多少位,若以上条件都满足。则 Valid PassWord。 2. 代码编写 ```java import java.util.Scanner; public class ShiYan { public static void main...
### 《剪刀石头布(Java)》实验报告解析 #### 实验背景 剪刀石头布游戏是一款简单而有趣的互动游戏,通常用于决定事情或解决争议。本实验旨在通过编程方式实现这一游戏,并借此深入了解Java语言的基础知识及其...
在"哈夫曼编码实验报告及源码"中,我们可以期待学习到以下几个关键知识点: 1. **哈夫曼树的构造**:首先,我们需要理解如何构建哈夫曼树。通常,我们从一个字符集合开始,每个字符代表一个频率(或权重)。我们...
### 通讯录JAVA程序设计实验知识点总结 #### 一、实验背景及目标 本次实验的主要目的是设计并实现一个简单的通讯录管理系统,通过Java语言来管理个人信息。这些信息包括姓名、固定电话、手机号码、邮编、地址以及...
在实验程序中,我们首先统计了输入字符串中每个符号的频率,然后根据频率构建霍夫曼树。接着,我们使用`GetCode`函数生成霍夫曼编码。 霍夫曼编码的优点是可以实现高效的数据压缩,减少数据的存储空间和传输时间。...
通过这个实验,学生不仅能学习到Java的基本数据类型和类型转换,还能掌握如何从键盘读取数据,并理解Unicode字符集的工作原理。这些基础知识对于进一步学习Java编程至关重要,也是后续学习面向对象编程、类和对象等...
例如,`Example2_1`演示了字符和整型之间的转换,以及Unicode编码。在Java中,每个字符都有一个对应的Unicode值,可以通过类型转换将字符转换为整型或反之。例子2_2讨论了不同类型间的转换,如将长整型赋值给整型...
【信息论与编码课程设计实验报告java】主要探讨了如何使用Java实现n元Huffman编码和游程编码,这是两种常见的数据压缩技术。Huffman编码是基于概率的变长编码方式,尤其适用于文本压缩,而游程编码则常用于图像处理...