class Char
{
public static void main(String[] args)
{
//Character ch = 'A';
Integer in = (int)'A';
System.out.println(Integer.toBinaryString(in));
}
}
/*
2008年8月30日16:12:58
在网上查到资料如下:
------------------------------------------------
Unicode的特点是:
不管哪一国的字符码均以两个Byte表示,例如"A"在Unicode则是16进制 41和00的组合,
即4100,高位41(转换为Ascii码即是65=A),Windows NT/2000以Unicode来表示字
符集,例如你可以看到MS SQL Server中产生的SQL文件可以选择是以Unicode来保存
还是以普通格式来保存,如果你以Unicode保存,则在95/98平台许多软件均无法正确
读出其格式。
------------------------------------------------
请问我如何编程来求出字符‘A’的Unicode码的二进制代码,
还有上面程序为什么 在JDK 1.6中的运行结果是:
---------------------
1000001
---------------------
照上面资料的意思,输出结果应该是: 1000001 0000 0000 啊*/
{
public static void main(String[] args)
{
//Character ch = 'A';
Integer in = (int)'A';
System.out.println(Integer.toBinaryString(in));
}
}
/*
2008年8月30日16:12:58
在网上查到资料如下:
------------------------------------------------
Unicode的特点是:
不管哪一国的字符码均以两个Byte表示,例如"A"在Unicode则是16进制 41和00的组合,
即4100,高位41(转换为Ascii码即是65=A),Windows NT/2000以Unicode来表示字
符集,例如你可以看到MS SQL Server中产生的SQL文件可以选择是以Unicode来保存
还是以普通格式来保存,如果你以Unicode保存,则在95/98平台许多软件均无法正确
读出其格式。
------------------------------------------------
请问我如何编程来求出字符‘A’的Unicode码的二进制代码,
还有上面程序为什么 在JDK 1.6中的运行结果是:
---------------------
1000001
---------------------
照上面资料的意思,输出结果应该是: 1000001 0000 0000 啊*/
char是以8位Ascii的形式存在的..
所以你转了之后只会有8位
//www.xinshuguang.org
import java.util.*;
public class HanZi{
public static void main(String[] args)
{
char c='新';
int i=c;
System.out.println(Integer.toHexString(i));
for(i=0;i<5;i++){
c=(char)(c+i);
System.out.print(" "+c);
}
}
}
public class Main { public static void main(String[] args) {
try{
String s = "A";
byte[] arr = s.getBytes("unicode");
for(int i=2; i<arr.length; i++){
System.out.print(format(Integer.toBinaryString(arr[i]&255)));
System.out.print(" ");
}
}catch(Exception e){
e.printStackTrace();
}
}
public static String format(String org) {
StringBuffer sb = new StringBuffer();
sb.append(org);
for (int i = 0; i < 8 - org.length(); i++) {
sb.insert(0, '0');
}
return sb.toString();
}}