javastring转数组的方法是什么?javastring转数组的方法

字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。那javastring转数组的方法是什么?下面来我们就来给大家讲解一下javastring转数组的方法。

String to byte array using getBytes()

// converts String to bytes using platform's default character encoding,
// in Eclipse it's Cp1252
// in Linux it could be something else
byte[] ascii = "abcdefgh".getBytes();
System.out.println("platform's default character encoding : " + System.getProperty("file.encoding"));
System.out.println("length of byte array in default encoding : " + ascii.length);
System.out.println("contents of byte array in default encoding: " + Arrays.toString(ascii));
Output:
    platform 's default character encoding : Cp1252
length of byte array in
    default encoding: 8 contents of byte array in
    default encoding: [97, 98, 99, 100, 101, 102, 103, 104]

备注:

1)如果不指定任何字符编码,则使用平台默认编码将字符转换为字节。

2)您可以使用System.getProperty(“file.encoding”)查看平台的默认字符编码;这将返回JVM运行的机器的默认字符编码。

3)当心,您的代码可能在一个环境中运行没有问题,但不能保证在其它环境下同样可以运行。这就是为什么你不应该依赖默认字符编码。

4)字节数组的长度可能与String的长度不一致,这取决于字符编码。

String to byte array using getBytes(“encoding)

// convert String to bytes of specified character encoding but
// also throw checked UnsupportedEncodingException, which pollutes the code try {
byte[] utf16 = "abcdefgh".getBytes("UTF-16");
System.out.println("contents of byte array in UTF-16 encoding: " + Arrays.toString(utf16));
}
catch (UnsupportedEncodingException e)
{
    e.printStackTrace();
}
Output: length of byte array in UTF - 16 charater encoding: 18
contents of byte array in UTF - 16 encoding: [-2, -1, 0, 97, 0, 98, 0, 99, 0, 100, 0, 101, 0, 102, 0, 103, 0, 104]

备注:

1)这种方式比上面例子更好,但是抛出一个检查的异常 java.io.UnsupportedEncodingException,防止字符编码字符串有错,或者指定不支持Java的字符编码。

2)返回指定的字符编码的字节数组

3)您可以看到字节数组的长度与String中的字符数不同,就像上一个例子中的那样,因为UTF-16编码占用至少2字节来编码字符。

String to byte array using getBytes(Charset)

// return bytes in UTF-8 character encoding
// 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)这是将String转换为Java中的字节数组的最佳方法。

2)这不会引发java.io.UnsupportedEncodingException异常。

3)牢记,StandarhardCasets类只能从Java 7起开始提供。

javastring转数组还是很简单的,如果不会操作的话可以参考几种方法,最后大家如果想要了解更多java架构师知识,敬请关注奇Q工具网。

推荐阅读:

java面试有哪些知识点?java面试知识点整理

fastjson和gson哪个稳定性好?详情分析

arcgis怎么导出json?ArcGis如何建立/链接企业级地理数据库?