导航:首页 > 编程语言 > java字符串转asc码

java字符串转asc码

发布时间:2025-05-24 12:27:15

java字符串转16进制ascii码

String s = "abcd";
byte[] b = s.getBytes();
int[] in = new int[b.length];
for (int i = 0; i < in.length; i++) {
in[i] = b[i]&0xff;
}
for (int j = 0; j < in.length; j++) {
System.out.println(Integer.toString(in[j], 0x10));
}

㈡ JAVA如何将16进制数字转换为ASCII中的字符串。

使用这个方法可以传进去的16进制的数字组成的字符串转化为内utf-8格式的字符容串

public static String toStringHex1(String s) {
byte[] baKeyword = new byte[s.length() / 2];
for (int i = 0; i < baKeyword.length; i++) {
try {
baKeyword[i] = (byte) (0xff & Integer.parseInt(s.substring(
i * 2, i * 2 + 2), 16));
} catch (Exception e) {
e.printStackTrace();
}
}
try {
s = new String(baKeyword, "utf-8");// UTF-16le:Not
} catch (Exception e1) {
e1.printStackTrace();
}
return s;
}

㈢ 在Java中如何将字符转换成ASCII码

java中如何将来一个字符转换为自ascii码:
方法1:
char c = 'a ';
byte b =(byte)c;

方法2:
直接将这个字符转化为int型就可以得到ascii码值
char c = 'a ';
int b = c; //字符的ascii码值

同理将一个ascii码转换为相应的字符:
例如:字符a
int d = 97;
char e = (char)d;

㈣ java输入一个字符,如果是字母,则输出相应的ASCII值,如果是数字字符,则转换成相应的数值输出

^

代码如下:

System.out.print("输入一个字符:");
Stringstr=input.next();
booleanisNumber=str.matches("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$");
if(isNumber){
System.out.println("输入的数字回是:"+str);
}else{
System.out.println("输入的ASCII码是:"+(int)str.charAt(0));
}

运行结果答是:

㈤ 字符和ASCII码相互转换(java编程)

使用强制转换,'1'--->(byte)'1'即是ascii,要十六进制,就用String.format("%02X",(byte)'1');

System.out.println("'1'ASCII="+((byte)'1'));
System.out.printf("'1'ASCII hex=%02X\n",(byte)'1');
//............

System.out.println("40->"+((char)40) );
System.out.println("59->"+((char)59) );
//..............

System.out.println("0x40->"+((char)0x40) );
//.................

㈥ 急!急!JAVA中ASCII转码问题

看了几位的回答,感觉有点好笑,楼主本身就出了一个假命题,几位回答都没有弄清字符集的转换,楼主也不知道自己本身就犯了一个致命错误,“你好”本身就是一个多位编码,你却硬要用低位码去解码,不出错才怪呢?
String s1 =new String(chinaString.getBytes("gb2312"),"ISO-8859-1");

这里的gb2312可以省略,系统会默认用你控制面板设定好的字符集,因为原来“你好”是多位编码,所以必须用多位编码去解码,也就是gb2312或utf-8去解码,这样chinaString.getBytes("gb2312")就变成一个byte数组,这时候你可以随意重新指定编码如iso-8859-1,这是s1就变成一个是iso-8859-1编码的字符串,如果你想重新转为中文,那么,你用什么字符集编码的,必须用什么字符集来解码,这里是iso-8859-1,可以这么来做

String s2 = new String(s1.getBytes("ISO-8859-1"),"gb2312");
这样s2又重新变回中文了,所以当你打印s2时,就是“你好”。

还有一个问题,为什么这里用iso-8859-1来重新编码,而不用其他的字符集呢?这里因为,其他字符集无法相互转码而发生编码丢失现象,你可以试试,把iso-8850-1换成utf-8试试,这无法重新转回来,这导致乱码现象,如果你ios-8850-1换成gbk,大部分是可以的,因为gbk兼容gb2312,但是,不是所有的都能相互转回来,最好用iso-8850-1来作为中间转码字符集,这是因为所有的字符集都对iso-8859-1兼容,不管是gbk还是gb2312,utf-8,都能完美地转换回来。

说了这么多,可能大家还有点迷糊,这应用在什么地方。我举个例子,大家知道,经常有人做网络爬虫,把网页下载下来,但是,网页编码各种各样,主要有iso-8859-1,gbk,gb2312,utf-8,网页以io字节流下载下来,要想把它转换字符流,也就是文字,这时候要知道编码是什么。怎么办呢?这样做,不管它,首先以iso-8859-1编码转换过来,然后再用正则表达式看看网页头部,如:
<meta content="text/html; charset=gb2312" http-equiv="Content-Type">,这时就知道这个网页的编码是gb2312,再利用这个式子
String s2 = new String(s1.getBytes("ISO-8859-1"),"gb2312");
s2就能正确显示网页内容。假如你用其他字符集如utf-8作为中间码,也能知道网页编码是gb2312,但这是你用式子
String s2 = new String(s1.getBytes("utf-8"),"gb2312"),就会出现乱码现象,所以最好用iso-8859-1作为中间码。

所以,楼主除了犯以上错误以外,还有,就不应该用US-ASCII作为中间码,否则,是不能转换为中文的,它们之间无法做到相互转换,只有iso-8859-1才能完美转换成其他编码。

阅读全文

与java字符串转asc码相关的资料

热点内容
学编程哪个大专好 浏览:290
linux虚拟机查看共享文件夹 浏览:982
洪恩点读文件格式 浏览:343
南宁计算机编程哪个学校好 浏览:1000
qq上不显示资料空间 浏览:658
asp获取当前文件名 浏览:462
word设计网页 浏览:119
怎么算大数据表格的总和 浏览:657
rul文件类型用什么打开 浏览:775
2岁编程入门先学什么 浏览:412
cad文件有图无字 浏览:837
怎么把文档数据相加 浏览:713
百度复制到word文件 浏览:273
cms二次开发教程 浏览:914
win7怎么强制删除文件夹 浏览:51
一加3t最省电的版本 浏览:631
不同网络的打印机共享 浏览:986
酒泉往瓜州寄文件需要多少钱 浏览:636
编程语言代码如何运行 浏览:912
第多少多少号文件 浏览:325

友情链接