java 中,char 数组转换成 byte数组(急,在线等)

如题~~~具体实现例子,谢谢~... 如题~~~
具体实现例子,谢谢~
展开
 我来答
指日可待2026
2020-02-09
知道答主
回答量:6
采纳率:0%
帮助的人:2246
展开全部
package com.example.lib;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.*;
import java.nio.charset.Charset;

public class MyClass {
public static void main(String[] args) throws IOException {
FileInputStream fs; //定义流对象变量
fs = new FileInputStream("/Users/mac/AndroidStudioProjects/MyApplication/lib/src/main/java/com/example/lib/mytext.txt");
byte[] bytes = new byte[fs.available()]; //定义接收数据的字节数组,并用流对象初始化数组大小
fs.read(bytes); //装载数据
char[] w = getChars(bytes);//将字节数组转化为字符数组,注意数组末尾会有空字符
String s = new String(w); //利用字符串构造函数来构造字符串,
System.out.println("结果为:"+s.trim());输出时,去掉末尾空格字符
}

private static byte[] getBytes (char[] chars) {
Charset cs = Charset.forName ("UTF-8");//设定字符集编码代号
CharBuffer cb = CharBuffer.allocate (chars.length);//按照字符数组长度进行分配空间
cb.put (chars); //装载数据
cb.flip (); //指针复位
//按照编码规则进行编码
ByteBuffer bb = cs.encode (cb);
return bb.array();
}

private static char[] getChars (byte[] bytes) {
Charset cs = Charset.forName ("UTF-8");//指定字符集编码
ByteBuffer bb = ByteBuffer.allocate (bytes.length);
bb.put (bytes);//装载数据
bb.flip ();//调整回指针为0
CharBuffer cb = cs.decode (bb);//按照指定字符集进行解码
return cb.array();//返回字符数组
}
}
banyan_virus
2010-09-10 · TA获得超过358个赞
知道小有建树答主
回答量:105
采纳率:0%
帮助的人:52.8万
展开全部
你看这样能达到你的目的吗
char[] ch = new char [] {'a','b'};
byte [] by = new byte[ch.length];
for(int i= 0; i<ch.length ; ++i){
by[i] = (byte)ch[i];
System.out.println(by[i]);
}
输出的是 97 98
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小菊坂胡蝶
2010-09-08 · TA获得超过202个赞
知道小有建树答主
回答量:441
采纳率:0%
帮助的人:132万
展开全部
char []acCharArray = new char[...];

... ...

byte [] abByteArray = String.valueOf(acCharArray).getBytes();

... ...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bb54449
2010-09-08 · TA获得超过174个赞
知道答主
回答量:82
采纳率:0%
帮助的人:53.5万
展开全部
public static void main(String[] args) {
char[] c = new char[]{'1','2','3','+'};
String str = new String(c);
byte[] b = str.getBytes();
for (int i = 0; i < b.length; i++) {
System.out.print(b[i] + " ");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西门蛤蟆
2010-09-08 · TA获得超过1021个赞
知道小有建树答主
回答量:597
采纳率:0%
帮助的人:0
展开全部
class t
{
public static void main(String[] args){
char[] c = new char[]{'a','b','c','d','e','f','g'};
String s = new String(c);
byte[] b = s.getBytes();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式