string怎么转化为byte

要求输入一个数保存在命名为response的string里然后把string转化为byte并且输出求java帝刚学不怎么会... 要求输入一个数 保存在命名为response的string里 然后把string转化为byte并且输出 求java帝 刚学不怎么会 展开
 我来答
题名考试网
2017-07-17 · 知道合伙人教育行家
题名考试网
知道合伙人教育行家
采纳数:1150 获赞数:26685
二级建造师

向TA提问 私信TA
展开全部

String s = "fs123fdsa";//String变量

byte b[] = s.getBytes();//String转换为byte[]

String t = new String(b);//bytep[]转换为String

“字符”是由数字来表示的

先来重新了解一下计算机是如何处理“字符”的,这个原理是必须记住的,特别是在用JAVA写程序的时候,万万不可模糊。计算机把任何东西都用数字来表示,“字符”也不例外。比如要显示一个阿拉伯数字“3”,在pc里,其实并不是仅仅用一个数字3来代表我们要写的“3”,而是以十六进制的0x33来代表,包括放在内存或者是写到文件里,其实都是写着0x33的,不信可以编辑一个文本文件,写一个“3”,然后用ultraEdit看他的原始码。

一切“字符”都必定用数字+编码表表示。 
这时候,有一个问题:为什么一定要用0x33来代表“3”呢?而不用0x43来代表呢?或者是直接用0x03来代替?其实用什么来代表都可以,只不过大家都习惯了用ASCII编码表(是美国国家信息交换表)来确定各字符应该是用什么数字代表的。同样,为了表示中国字,我国也指定了中文的编码表,其中最广泛使用的是GB2312。比如中文的“当”字,就是用0xB5,

0xB1这两个八位的数字来表示的。所以如果显示字符的程序不知道一列数字到底是按什么编码表编码的,他也无法去判断到底这些是什么文字。如果随便用一个不对的编码表来处理这些数字,处理出来的字符很可能完全是错的。比如在英文系统上,没有GB2312编码表,送一个0xB5,0xB1,就傻傻的当作ASCII来处理(操作系统通常都有自己默认的编码表),结果显示出来就是两个奇怪的符号,因为这两个字在ASCII表里就是那两个符号。同样在繁体中文系统里,编码表是BIG5,显示出来也是一个奇怪的中文,不是“当”字。


忆吾返顾CG
2018-04-18 · TA获得超过1576个赞
知道小有建树答主
回答量:5
采纳率:0%
帮助的人:797
展开全部

string 转 byte[]的方法:

byte[] midbytes=isoString.getBytes("UTF8");

//为UTF8编码

byte[] isoret = srt2.getBytes("ISO-8859-1");

//为ISO-8859-1编码

其中ISO-8859-1为单字节的编码

byte[]转string的方法:

String isoString = new String(bytes,"ISO-8859-1");

String srt2=new String(midbytes,"UTF-8");

(PS:在网络传输或其它应用中常常有同一的中间件,假设为String类型。因此需要把其它类型的数据转换为中间件的类型。将字符串进行网络传输时,如socket,需要将其在转换为byte[]类型。这中间如果采用用不同的编码可能会出现未成预料的问题,如乱码。)

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
如是我之闻
2015-09-21 · TA获得超过1237个赞
知道小有建树答主
回答量:1207
采纳率:57%
帮助的人:823万
展开全部
String testStr = "我是中国人";
 
byte b[] = testStr .getBytes();//String转换为byte[] 

就这样就可以完成!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hyt0114
2011-09-23 · TA获得超过276个赞
知道答主
回答量:207
采纳率:0%
帮助的人:197万
展开全部
public class Test
{
public static void main(String[] args)
{
String response = "java";
String str[] = response.split("");
for(int i = 1;i<=response.length();i++){
System.out.print(str[i]+" ");
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
raplife
2011-09-23 · 超过21用户采纳过TA的回答
知道答主
回答量:110
采纳率:0%
帮助的人:63.1万
展开全部
class Demo{
public static void main(String[] args){
String response = new String(args[0]);
byte[] bytes = new byte[];
byte[] bytes = response.getBytes();
for(byte b : bytes)
System.out.print(b);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式