导航:首页 > 编程语言 > java字符转字节

java字符转字节

发布时间:2023-01-21 04:42:31

java中如何将字符串转换成字节数组

import java.io.UnsupportedEncodingException;/*** 将Byte转换为String 或者将String转换为Byte** @author Administrator**/public class ByteOrStringHelper {/*** 默认的字符集编码
* UTF-8 一个汉字占三个字节*/private static String CHAR_ENCODE = "UTF-8";/*** 设置全局的字符编码
* @param charEncode*/public static void configCharEncode(String charEncode){
CHAR_ENCODE = charEncode;}/*** @param str 源字符串转换成字节数组的字符串* @return*/public static byte[] StringToByte(String str) {
return StringToByte(str,CHAR_ENCODE);}/**** @param srcObj 源字节数组转换成String的字节数组* @return*/public static String ByteToString(byte[] srcObj) {
return ByteToString(srcObj,CHAR_ENCODE);}/*** UTF-8 一个汉字占三个字节
* @param str 源字符串
* 转换成字节数组的字符串* @return*/public static byte[] StringToByte(String str,String charEncode) {
byte[] destObj = null;try {if(null == str || str.trim().equals("")){
destObj = new byte[0];
return destObj;}else{destObj = str.getBytes(charEncode);}} catch (UnsupportedEncodingException e) {
e.printStackTrace();}return destObj;}/*** @param srcObj 源字节数组转换成String的字节数组* @return*/public static String ByteToString(byte[] srcObj,String charEncode) {
String destObj = null;try {destObj = new String(srcObj,charEncode);

⑵ java中String类型的如何转为byte[]

一、String转byte数组简单版:

1、String str = "abcd";

2、byte[] bs = str.getBytes();

二、复杂版

// pros - no need to handle UnsupportedEncodingException // pros - bytes in specified

encoding scheme byte[] utf8 = "abcdefgh".getBytes(StandardCharsets.UTF_8);

System.out.println("length of byte array in UTF-8 : " + utf8.length);

System.out.println("contents of byte array in UTF-8: " + Arrays.toString(utf8));

Output : length of byte array in UTF-8 : 8 contents of byte array in UTF-8: [97, 98, 99, 100, 101, 102, 103, 104]1

(2)java字符转字节扩展阅读:

反过来,将Byte数组转化为String的方法

using System;

using System.Text;

public static string FromASCIIByteArray(byte[] characters)

{

ASCIIEncoding encoding = new ASCIIEncoding( );

string constructedString = encoding.GetString(characters);

return (constructedString);

}


·

⑶ java 怎么把一个字符串数组转换成一个字节数组

String []strs={"1","2","3"};
int sum=0;
for(String str:strs){
byte[]bytes=str.getBytes();
sum+=bytes.length;
}
System.out.println("strs字符串数组占的字节数:"+sum);

⑷ Java 字符串转化为字节

string型转byte 要怎么转 有两种方式
getBytes()
使用平台默认的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。返回byte[]

getBytes(String charsetName)
使用指定的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。返回
byte[]

你那样写是可以的 不过 你需要保证你的机器8001这个端口开放才能正常运行 我给你写了一个测试类
public class T {
public static void main(String[] args) throws IOException
{
Socket s = new Socket(InetAddress.getByName("127.0.0.1"),80);
System.out.println(s);
}
}

⑸ Java把一个字符流转换成字节流,除了字符本身,还需要什么参数

不知道你的问题是写反了,还是故意这么问的。

Java只提供了将字节流转为字符流的方法,并没有字符流转为字节流的方法。

因为字节流是一个通用的流,可以传输各种类型的资源,比如:文本、图片、音频等...

而字符流是一个特殊的流,只能传输文本类型的资源,但是它比字节流传输文本的方式更加方便、快捷。

所以,有些场景需要将字节流转为更加方便快捷的字符流来处理;但没有场景需要将字符流转为字节流,这个很好理解,如果是文本类型,字符流更高效,不需要转为字节流,如果是其它类型,字符流根本就用不了,也不存在转换一说。


如果你想问的是字节流转为字符流的方法,那么可以使用

转换专属流:(将字节流转换成字符流)

java.io.InputStreamReader

java.io.OutputStreamWriter

该类的构造方法是4个重载方法,参数可以是字符流对象

或者是字符流对象+字符集名称/字符集对象/字符集解码器对象

public InputStreamReader(InputStream in) {}

public InputStreamReader(InputStream in, String charsetName)
throws UnsupportedEncodingException
{}

public InputStreamReader(InputStream in, Charset cs) {}

public InputStreamReader(InputStream in, CharsetDecoder dec) {}

⑹ java把字符串类型128转换成字节怎么做

String str = "128";

str.getBytes(); //就是你要的结果
//以下为一个转码的操作,自己可以作为参考:
String newStr = new String(str.getBytes("ISO-8859-1"),"UTF-8"); //把一个ISO-8859-1编码的字符串改为UTF-8的编码格式。 这个一般针对中文字符串才会使用。

⑺ java 怎么将string转换成byte

1.string 转 byte[]
byte[] midbytes=isoString.getBytes("UTF8");
//为UTF8编码
byte[] isoret = srt2.getBytes("ISO-8859-1");
//为ISO-8859-1编码
其中ISO-8859-1为单字节的编码
2.byte[]转string
String isoString = new String(bytes,"ISO-8859-1");
String srt2=new String(midbytes,"UTF-8");
说明:
在网络传输或其它应用中常常有同一的中间件,假设为String类型。因此需要把其它类型的数据转换为中间件的类型。
将字符串进行网络传输时,如socket,需要将其在转换为byte[]类型。这中间如果采用用不同的编码可能会出现未成预料的问题,如乱码。
下面举个例子:
我们用socket传输String类型的数据时,常常用UTF-8进行编码,这样比较可以避免一个“中文乱码”的问题。
发送端:
String sendString="发送数据";
byte[] sendBytes= sendString .getBytes("UTF8");
.......socket发送
接受端:
String recString=new String( sendBytes ,"UTF-8");

但是,这里往往又会出现这样一个问题。就是想要发送的数据本身就是byte[]类型的。
如果将其通过UTF-8编码转换为中间件String类型就会出现问题
如:
byte[] bytes = new byte[] { 50, 0, -1, 28, -24 };
String sendString=new String( bytes ,"UTF-8");
byte[] sendBytes= sendString .getBytes("UTF8");
然后再发送
接受时进行逆向转换
String recString=new String( sendBytes ,"UTF-8");
byte[] Mybytes=isoString.getBytes("UTF8");
这时Mybytes中的数据将是[50, 0, -17, -65, -67, 28, -17, -65, -67]
因此,需要采用单字节的编码方式进行转换
String sendString=new String( bytes ,"UTF-8"); 改为 String sendString=new String( bytes , "ISO-8859-1" );
byte[] Mybytes=isoString.getBytes("UTF8"); 改为 byte[] Mybytes=isoString.getBytes( "ISO-8859-1" );
这样所需要的字节就有恢复了。

⑻ java中如何将字符串转化成特定长度的字节数组

publicclassTest{
publicstaticvoidmain(String[]args){
byte[]byteArray="Test".getBytes();
byte[]byteArray2="测试".getBytes();
System.out.println("byteArray.length="+byteArray.length);
System.out.println("byteArray2.length="+byteArray2.length);

for(inti=0;i<byteArray.length;i++)
System.out.print((char)byteArray[i]);
System.out.println();
for(inti=0;i<byteArray2.length;i++)
System.out.print((char)byteArray2[i]);
}
}

汉字2个字节编码,1个汉字转换成2bytes

⑼ java怎么将string转换成byte数组

思路:先定义字符串,再通过getBytes()方法进行转换数组就可以了。

参考代码:

Strings="ZhiDao";//定义字符串
byte[]sb=s.getBytes();//把字符串转换成数组

String的getBytes()方法是得到一个系统默认的编码格式的字节数组。将一个String类型的字符串中包含的字符转换成byte类型并且存入一个byte[]数组中。

阅读全文

与java字符转字节相关的资料

热点内容
服务器上如何查看服务器的端口 浏览:676
单片机服务器编译 浏览:768
单口usb打印机服务器是什么 浏览:859
战地五开服务器要什么条件 浏览:954
在word中压缩图片大小 浏览:253
javatomcat图片 浏览:417
程序员生产智能创意 浏览:65
汇和银行app怎么登录 浏览:381
腾讯服务器如何上传源码 浏览:745
单片机的原理概述 浏览:510
火控pdf 浏览:267
如何复制云服务器centos环境 浏览:984
债权pdf 浏览:303
红色番字的app怎么下载 浏览:876
云服务器流程教课 浏览:702
中国农业银行app怎么没有网 浏览:997
几率表算法 浏览:902
程序员理工科 浏览:708
企业邮箱登录收件服务器地址 浏览:560
计算机思维与算法设计的重要性 浏览:664