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

如题~~~
具体实现例子,谢谢~

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();//返回字符数组
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-10
你看这样能达到你的目的吗
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
第2个回答  2010-09-08
char []acCharArray = new char[...];

... ...

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

... ...
第3个回答  2010-09-08
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] + " ");
}
}
第4个回答  2010-09-08
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();
}
}

java 中,char 数组转换成 byte数组(急,在线等)
char[] w = getChars(bytes);\/\/将字节数组转化为字符数组,注意数组末尾会有空字符 String s = new String(w); \/\/利用字符串构造函数来构造字符串,System.out.println("结果为:"+s.trim());输出时,去掉末尾空格字符 } private static byte[] getBytes (char[] chars) { Charset cs = C...

java如何把输入的字符串转换成byte数组
byte[] bytes = new byte[buffer.remaining()];buffer.get(bytes);\/\/ process bytes...buffer.clear();} 最后,可以使用InputStream.toByteArray()方法,该方法会一次性读取所有数据并返回一个byte数组:byte[] bytes = new byte[in.available()];in.read(bytes);以上就是Java InputStream流转...

java 急急急,怎样将一个字符串转换成一个byte数组,详细说明在下边
你这个都用不到算法,只要用普通的if else就能解决:public class String2Byte { static final byte[] getByteArray(String s){ String s[] = s.split("-");if(s.length() > 0){ byte[] b = new byte[s.length()];for(int i = 0 ; i < b.length; i++)b[i] = getValue(s...

java中如何将字符串转化成特定长度的字节数组
i++)System.out.print((char)byteArray[i]);System.out.println();for(int i=0;i < byteArray2.length;i++)System.out.print((char)byteArray2[i]);}}汉字2个字节编码,1个汉字转换成2bytespublic class Test{public static void main(String[] args){\/\/string to byte[]byte[] byteA...

如何将char数组转换成byte
办法较多,举一例如下:\/\/#include "stdafx.h"\/\/vc++6.0加上这一行.include <iostream> include "windows.h"using namespace std;int main(void){ char a[10]="abcd";byte b[10]="";memcpy(b,a,4);cout << b << endl;return 0;} ...

在java中如何将全为数字的字符串转化为byte数组?
public static void main(String[] args){ String s="99999";byte[] bytes=s.getBytes();for(int i=bytes.length-1;i>=0;i--){ bytes[i]-=(byte)'0';} for(int i=0;i<bytes.length;i++){ System.out.print(bytes[i]);} System.out.println();} } 一楼二楼的字节数组中元素...

java的字符串转换成byte数组后,遍历出来的的是结果是不是参照了ascii码...
是的,具体来说,应该是按照某个字符集(java默认是utf-8字符集)来进行编码存储的 String s = "ab";byte[] b = s.getBytes();即在数组b中, 存储了97 98 两个数据 相当于:byte[] bt = {97,98};

java9为何要将string的底层实现由char[]改成了byte[]?
Java9为何将String底层实现由char[]改至byte[]?String在JDK9之前,使用UTF-16编码并以char数组存储,每个char字符需两个字节存储空间。每个byte字符只需一个字节,但考虑兼容性,所有字符均使用双字节存储。从JDK9起,String会判断字符串是否全为ASCII字符。若全为ASCII字符,则以拉丁字符集编码,每个...

java怎么把一个类转成byte数组
java将文件转换为byte数组,主要是使用输出流,实例如下:\/ 根据byte数组,生成文件 \/ public static void getFile(byte[] bfile, String filePath,String fileName) { BufferedOutputStream bos = null; \/\/新建一个输出流 FileOutputStream fos = null; \/\/w文件包装输出流 File file = null;try...

java 中各种数据类型转换byte[]的方法
byte[] bytes = baos.toByteArray();\/\/用数组流将传入的对象转化为byte数组 \/\/反序列化 bais = new ByteArrayInputStream(bytes);ObjectInputStream ois = new ObjectInputStream(bais);Integer i = (Integer)ois.readObject();System.out.println(i);} catch (Exception e) { }以上是把integer...

相似回答