【问题标题】:any other logic to convert from byte to String从字节转换为字符串的任何其他逻辑
【发布时间】:2016-04-22 17:25:03
【问题描述】:

我正在尝试将字节值转换为字符串。请查找以下示例:

byte b = 'D';

String result = Byte.toString(b);

这种情况下的输出是“68”。但我希望输出为“D”[string]。是否有任何 API 方法可以进行这种转换..?在这种情况下(68),toString 正在转换为 D 的 ascii 值。

【问题讨论】:

  • 你为什么用字节代替你可以用char对..???
  • String result = new String(new byte[] { b }, Charset.forName("ASCII"));

标签: java string byte type-conversion


【解决方案1】:

Byte.toString methodbyte 值作为数字并将其转换为String,而不是char 值,这就是您得到"68" 的原因。

将其转换为charString.valueOf method 可以使用它来创建String

String result = String.valueOf((char) b);

其他方法:

String result = new String(new byte[] {b});
String result = new String(new char[] {(char) b});
String result = new Character((char) b).toString();
String result = Character.toString((char) b);
String result = new StringBuilder().append((char) b).toString();
String result = "" + (char) b;

大多数解决方案通常涉及将其转换为 char(对于 'D' 而言,这是比 byte 更好的类型),然后创建 String

【讨论】:

    【解决方案2】:

    像这样:

    byte b = 'D';
    String result = Character.toString((char) b);
    

    【讨论】:

      猜你喜欢
      • 2020-01-14
      • 1970-01-01
      • 1970-01-01
      • 2018-01-05
      • 2021-02-26
      • 2014-04-04
      • 1970-01-01
      • 2020-11-04
      • 1970-01-01
      相关资源
      最近更新 更多