如何从使用 StandardCharsets.US_ASCII 编码的字节中获取初始字符串?
How to get initial string from bytes encoded using StandardCharsets.US_ASCII?
我需要能够将字符串从字节编码和解码为 dn 的工作代码。如何编写才能在所有平台上获得相同的结果?
String s = "test";
byte[] b = s.getBytes(StandardCharsets.US_ASCII);
System.out.println(b);
您编写的代码将在所有平台上给出相同的结果。
getBytes()
方法有两个版本,一个带参数,一个不带参数。不使用的将使用默认字符集,这意味着输出将因平台而异。但是你使用的那个,你指定一个字符集,将在任何地方给出相同的结果。
(也就是说,您可能最好使用 UTF-8 而不是 US_ASCII,因为它会更宽容您允许在输入字符串中包含哪些字符。但是作为只要你保持一致,它仍然会在任何地方给出相同的行为。)
String
-class有匹配的构造函数:
String s = "test";
byte[] b = s.getBytes(StandardCharsets.US_ASCII);
String r = new String(b, StandardCharsets.US_ASCII);
System.out.println(r);
我需要能够将字符串从字节编码和解码为 dn 的工作代码。如何编写才能在所有平台上获得相同的结果?
String s = "test";
byte[] b = s.getBytes(StandardCharsets.US_ASCII);
System.out.println(b);
您编写的代码将在所有平台上给出相同的结果。
getBytes()
方法有两个版本,一个带参数,一个不带参数。不使用的将使用默认字符集,这意味着输出将因平台而异。但是你使用的那个,你指定一个字符集,将在任何地方给出相同的结果。
(也就是说,您可能最好使用 UTF-8 而不是 US_ASCII,因为它会更宽容您允许在输入字符串中包含哪些字符。但是作为只要你保持一致,它仍然会在任何地方给出相同的行为。)
String
-class有匹配的构造函数:
String s = "test";
byte[] b = s.getBytes(StandardCharsets.US_ASCII);
String r = new String(b, StandardCharsets.US_ASCII);
System.out.println(r);