首页 > Java > java教程 > 正文

Java 字符串 getBytes

WBOY
发布: 2024-08-30 15:36:06
原创
397 人浏览过

Java中的getBytes()方法被定义为“将字符串转换为数组的字节”。 getBytes() 方法返回 byte[] 数组。 Java 中的 getBytes() 方法仅适用于字符串。字节数组中的每个字符串值都会转换为其等效的 ASCII(美国信息交换标准代码)值。我们可以说它是数据的编码形式,以防止对数据进行未知操作。

实时应用:当我们想要将字符串转换为字节数组时,getBytes() 方法就派上用场了。

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

getBytes() 在 Java 中如何工作?

Java getBytes() 方法通过 3 种方式基于字符串值工作:

  • public byte[] getBytes()

语法:

String str="Some String";
Byte[] byteArray=Str.getBytes();
登录后复制
  • public byte[] getBytes(String string) 抛出 UnsupportedEncodingException。 java应用中支持Charset的标准如下:
  • US-ASCII:它是 7 位 ASCII 字符。
  • ISO-8859-1:它是 ISO(印度标准组织)拉丁字母。
  • UTF-8:它是一种 8 位通用编码字符集格式。
  • UTF-16BE:这是一种按大端顺序排列的 16 位通用编码字符集格式。
  • UTF-16LE:这是按小端顺序排列的 16 位通用编码字符集。
  • UTF-16: 16 位通用编码字符集格式。

语法:

String str=”UTF-16”;
Byte[] byteArray=Str.getBytes();
登录后复制
注意:如果给定的数据不可转换,则会抛出 UnsupportedEncodingException 异常
  • public byte[] getBytes(Charset 字符集)

语法:

Byte[] byteArray=Str.getBytes(“ASCII”);
登录后复制

Java String getBytes 示例

下面给出了 Java String getBytes 的示例:

示例#1

public byte[] getBytes()

代码:

package com.getbytes;
public class GetBytesOfNames {
public static void main(String args[]) {
String name = "Paramesh"; /// defining a string
byte[] nameByteArray = name.getBytes(); // converting string into byte array
for (int i = 0; i < nameByteArray.length; i++) {// iterating byte array values
System.out.println(name.charAt(i) + " character byte value =>" + nameByteArray[i]);// displaying values
}
}
}
登录后复制

输出:

Java 字符串 getBytes

说明:

  • 正如您在输出中看到的那样,通过应用 getBytes() 方法,相应的字符给出了其等效的 ASCII 代码。

示例#2

public byte[] getBytes()

代码:

package com.getbytes;
public class GetBytesOfSpaceValues{
public static void main(String args[]) {
String name = "This is Amardeep"; /// defining a string
byte[] nameByteArray = name.getBytes(); // converting string into byte array
for (int i = 0; i < nameByteArray.length; i++) {// iterating byte array values
System.out.println(name.charAt(i) + " character byte value =>" + nameByteArray[i]);// displaying values
}
}
}
登录后复制

输出:

Java 字符串 getBytes

说明:

  • 正如您在输出中看到的那样,通过应用 getBytes() 方法,相应的字符给出了其等效的 ASCII 代码。
  • 即使是空格也有 ASCII 值。

示例#3

public byte[] getBytes(String string)

代码:

package com.getbytes;
import java.io.UnsupportedEncodingException;
public class GetBytesString {
public static void main(String args[]) {
String name = "Amardeep"; // defining a string
byte[] nameByteArray;
try {
nameByteArray = name.getBytes("UTF-8");
for (int i = 0; i < nameByteArray.length; i++) {// iterating byte array values
System.out.println(name.charAt(i) + " character byte value =>" + nameByteArray[i]);// displaying values
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // converting string into byte array
}
}
登录后复制

输出:

Java 字符串 getBytes

说明:

  • 正如您在输出中看到的那样,通过应用 getBytes() 方法,相应的字符给出了其等效的 UTF-8 代码。

示例#4

public byte[] getBytes(String string)

代码:

package com.getbytes;
import java.io.UnsupportedEncodingException;
public class GetBytesOfNames {
public static void main(String args[]) {
String name = "Amardeep is smart"; // defining a string
byte[] nameByteArray;
try {
nameByteArray = name.getBytes("UTF-8");
System.out.println("=========Coverting String into byte[] array========");
for (int i = 0; i < nameByteArray.length; i++) {// iterating byte array values
System.out.println(name.charAt(i) + " character byte value =>" + nameByteArray[i]);// displaying values
}
String string=new String(nameByteArray);//converting byte array into string
System.out.println("=========Coverting byte[] into original string========");
System.out.println(string);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // converting string into byte array
登录后复制

输出:

Java 字符串 getBytes

说明:

  • 正如您在输出中看到的那样,通过应用 getBytes() 方法,相应的字符给出了其等效的 UTF-8 代码。
  • UTF-8字节数组再次转换为原始字符串。结论是原始信息不会丢失。

示例#5

public byte[] getBytes(Charset 字符集)

代码:

package com.getbytes;
import java.nio.charset.Charset;
public class GetBytesCharSet {
public static void main(String args[]) {
String name = "Hello"; // defining a string
byte[] nameByteArray = name.getBytes(Charset.forName("ASCII"));
System.out.println("=========Coverting String into byte[] array========");
for (int i = 0; i < nameByteArray.length; i++) {// iterating byte array values
System.out.println(name.charAt(i) + " character byte value =>" + nameByteArray[i]);// displaying values
}
}
}
登录后复制

输出:

Java 字符串 getBytes

说明:

  • 正如您在输出中看到的那样,通过应用 getBytes() 方法,相应的字符给出了其等效的 ASCII 代码。

示例#6

public byte[] getBytes(Charset 字符集)

代码:

package com.getbytes;
import java.nio.charset.Charset;
public class GetBytesOfCharSetAndString {
public static void main(String args[]) {
String name = "Hello Amardeep"; // defining a string
byte[] nameByteArray = name.getBytes(Charset.forName("ASCII"));
System.out.println("=========Coverting String into byte[] array========");
for (int i = 0; i < nameByteArray.length; i++) {// iterating byte array values
System.out.println(name.charAt(i) + " character byte value =>" + nameByteArray[i]);// displaying values
}
String string=new String(nameByteArray);
System.out.println("=========Coverting String into byte[] array========");
System.out.println(string);
}
}
登录后复制

输出:

Java 字符串 getBytes

说明:

  • 正如您在输出中看到的那样,通过应用 getBytes() 方法,相应的字符给出了其等效的 ASCII 代码。
  • ASCII 码字节数组再次转换为原始字符串。结论是原始信息不会丢失。

结论

基于 getBytes()、getBytes(String string) 和 getBytes(Charset characterSet) 可以将 String 转换为其等效的 ASCII 码、UTF 码、ISO 码。

以上是Java 字符串 getBytes的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!