Java中的字符编码与解码(转)
转 http://jiangzhengjun.javaeye.com/blog/506952
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import junit.framework.TestCase;
/**
* 编码与解码测试
* @author jzj
*/
public class TestEncodeDecode extends TestCase {
private char chineseChar = '中';
private char englishChar = 'a';
/**
* Java程序中的字符都是占用二个字节,因为 char 类型好比双字节的无符号整数
*/
public void testCharToUnicode() {
//十进制Uncode编码
System.out.println((int) chineseChar);//20013
System.out.println((int) englishChar);//97
//十六进制Uncode编码
System.out
.println(Integer.toHexString((int) chineseChar).toUpperCase());//4E2D
System.out
.println(Integer.toHexString((int) englishChar).toUpperCase());//61
//二进制Uncode编码
System.out.println(Integer.toBinaryString((int) chineseChar));//100111000101101
System.out.println(Integer.toBinaryString((int) englishChar));//1100001
}
/**
* 不管是中文还是英文都还是其他字符,每个字符都是占用两个字节,英文字符的
* UTF-16编码与Unicode编码是一样的,只不过UTF-16在编码时会在码流前加上"FE FF"两个字节的内容,
* 表示字符是以UTF-16格式存储的,在读取时程序就会知道是UTF-16编码的字符
*/
public void testCharToUTF16() {
try {
//--中文字符转UTF-16
byte[] encodeArr = String.valueOf(chineseChar).getBytes("UTF-16");
//十进制编码输出
for (int i = 0; i < encodeArr.length; i++) {
//-2 -1 78 45
Syst
相关文档:
一、面向对象的特征有哪些方面
1.抽象:
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
......
Java 和 C#的比较
1。访问控制方面:C#有public、internal、protected、private,比java多了个internal,其实它跟java的包访问差不多,internal表示同一个编译集合(如exe、dll)下的类可以互访。
对于protected,java和C#有区别。在java中,protected和包访问级别差不多,即不是私有的。而在C#中,protected和priv ......
一 相对路径的获得
说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)
String relativelyPath=System.getProperty("user.dir");
上述相对路径中,java项目中的 ......
Devoxx 大会结束在几天前结束了,一位与会者对此次大会的重要内容进行了总结,他提到Java 7的主要变化如下:
1.对collections的支持
Java代码
List<String> list = new ArrayList<String>();
list.add("item");
String item = list.get(0);
......
Java接口与抽象类的比较
1、 最大的区别:java抽象类可以提供某些方法的部分实现,而java接口不可以。
如果向一个抽象类里加入一个新的具体方法,那么他所有的子类都一下子得到了这个新方法,而java接口做不到这一点。如果向一个java接口里面加入一个新方法,所有实现这个接口的类就无法成功通过编译了,因为必须让 ......