java—将字符串转换为字节,然后转换为int

crcmnpdw  于 2021-07-06  发布在  Java
关注(0)|答案(2)|浏览(475)

我发现了很多关于这个主题的问题,但我没能解决我的问题。
用户将输入一个名称 String 我需要把它变成一个 List<int> 将其保存在表示名称的每个字符的数据库中。
它是与拉丁书写系统,但这需要与其他书写系统,如阿拉伯语或西里尔文字工作。

List<Integer> intName = new ArrayList<>();
String splitName = currentName.split("");

for (final String currentString : splitConferenceName) {
    final byte[] temp = currentString.getBytes(StandardCharsets.UTF_8);
    final Byte b = temp[0];
    intName.add(b.intValue());
}

我也尝试使用bytebuffer,但是得到了bufferunderflowexception。
为了检查操作员是否良好,我使用以下网站:https://onlinestringtools.com/convert-decimal-to-string

j13ufse2

j13ufse21#

你可以用 String.codePoints() 为此目的的方法:

String str = "Lorem ipsum";

int[] arr = str.codePoints().toArray();

System.out.println(Arrays.toString(arr));
// [76, 111, 114, 101, 109, 32, 105, 112, 115, 117, 109]

如果需要,可以将数组转换为列表:

List<Integer> list = Arrays.stream(arr).boxed().collect(Collectors.toList());

另请参阅:如何将字符串转换为bytestream

vulvrdjw

vulvrdjw2#

使用 String#chars() :

List<Integer> intName = currentName.chars()
        .boxed().collect(toList());

相关问题