导航:首页 > 编程语言 > java机内码ascii码转换

java机内码ascii码转换

发布时间:2023-08-06 18:56:33

A. java 将字符串转换为 ascii 修改值

你的问题描述和你的提问题目貌似不一样的哦。虽然我很不明白你的疑惑,但是我根据你的题目猜想就是把任意的字符串转换为ascii码,对吗?如果是这样的,只需要把字符串的每个字符都转为int型,就可以得到你想要的ascii码了。
代码可以参考如下:
public
class
StringToAscii
{
public
static
void
main(String[]
args)
{
String
s
=
"abc123"
;
int[]
arr
=
new
int[s.length()];
for
(int
i
=
0
;
i
<
s.length()
;
i
++
)
{
arr[i]
=
s.charAt(i);
System.out.print(arr[i]
+
","
);
}
}
}

B. JAVA把ASCII码转变为字符串

publicclassTTTTT{

publicstaticvoidmain(String[]args){
Stringstring="1041011081123210910133";
System.out.println(asciiToString(string));
}

(Stringtext){
StringBuilderbuilder=newStringBuilder();
for(inti=0;i<text.length();i++){
if(text.charAt(i)<='2'&&i<=text.length()-3){
intcode=Integer.parseInt(text.substring(i,i+3));
builder.append((char)code);
i+=2;
}else{
intcode=Integer.parseInt(text.substring(i,i+2));
builder.append((char)code);
i+=1;
}
}
returnbuilder.toString();
}

}

你这编码很怪啊,结果竟然是help me!

1041011081123210910133
解析起来很麻烦那,不是3位3位的。
104
101
108
112
32
109
101
33

C. java Int类型的值 转换成ascii 值对应的字符

1、将数值 “22545” 转换成抄 char 类型,然后运行,控制台得到的结果是 中文“堑”.

char b = (char)22545;
System.out.println(b);

2、将中文 “一” 转换成 int 类型,然后运行,控制台得到的结果是 19968.

int b = '一';
System.out.println(b);

(3)java机内码ascii码转换扩展阅读:

1、字面值赋值

在使用字面值对整数赋值的过程中,可以将int literal赋值给byte short char int,只要不超出范围。这个过程中的类型转换时自动完成的,但是如果你试图将long literal赋给byte,即使没有超出范围,也必须进行强制类型转换。例如 byte b = 10L;是错的,要进行强制转换。

2、表达式中的自动类型提升

除了赋值以外,表达式计算过程中也可能发生一些类型转换。在表达式中,类型提升规则如下:

所有byte/short/char都被提升为int。

如果有一个操作数为long,整个表达式提升为long。float和double情况也一样。

D. 急!急!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才能完美转换成其他编码。

E. java中 怎么把 ascii码转换为 十六进制

简单的转换,如下就可以:
public static void main(String[] agrs) {
String source = "30";
int code ;
code = Integer.parseInt(source, 16);
// 如果30代表是 16进制的30话,就取16
// 如果30代表是 10进制的30话,就取10
// code = Integer.parseInt(source, 10);
char result = (char) code;
System.out.println(result);
}
根据自己程序健壮性的要求,可以对 int code的范围做出判断,防止 int转向char时产生异常。

F. Java中,如何把ascii码转换成字符

如果是单个字符的话,直接转换就可以

intd=97;
chare=(char)d;

如果是一串ascii码的话,最好存在byte[]中

byte[]b={97,98,99};
System.out.println(newString(b));

G. 字符和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) );
//.................

H. java中 怎么把 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;
}
追问
我要ASCII格式的字符串,有吗,谢了。

追答
那就修改s = new String(baKeyword, "ASCII")这一行就行了,后面的表示要转化的编码格式可以选很多种,以下是你要的代码

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, "ASCII");
} catch (Exception e1) {
e1.printStackTrace();
}
return s;
}

阅读全文

与java机内码ascii码转换相关的资料

热点内容
微信打码赚钱安卓软件 浏览:608
苹果官换机买什么版本 浏览:979
visio数据模型怎么用 浏览:179
关于驾驶的app 浏览:92
多线程编程有什么特点 浏览:453
iso文件系统 浏览:116
苹果932拦截骚扰电话 浏览:765
盲盒开箱app有哪些 浏览:422
win10激活脚本之家 浏览:191
魔鬼作坊工具包 浏览:185
ae源文件下载 浏览:520
如何将照片内容转换成pdf文件 浏览:137
浙里办app如何更换手机号码 浏览:244
电子资料文件有哪些 浏览:241
猥琐猫表情教程 浏览:599
android音频文件格式 浏览:458
漫画脸app哪里可以下载 浏览:959
购买欢乐升级欢乐豆 浏览:282
学习智能机器人用什么编程最好 浏览:655
苹果手机如何管控app 浏览:633

友情链接