gpt4 book ai didi

java - 在 java 中将 int 转换为 char - 我必须使用 ASCII 吗?

转载 作者:行者123 更新时间:2023-11-29 03:59:52 25 4
gpt4 key购买 nike

问:在Java中将int类型转换为char类型时,默认结果似乎是该int值对应的ASCII字符。我的问题是,是否有某种方法可以指定转换时使用的不同字符集?

(背景信息:我正在做一个项目,在这个项目中我读取一串二进制字符,将其转换成 block ,然后将 block 转换成它们的十进制值,整数,然后我将其转换为字符。我然后需要能够通过反转过程将生成的压缩字符“扩展”回二进制。我已经能够做到这一点,但目前我只能将最多 6 个“位”压缩到一个字符中,因为当我允许更大的数量时,范围内的某些值似乎无法处理很好的ASCII;它们变成方框或问号,当它们被转换回 int 时,它们的原始值没有被保留。如果我可以使用另一个字符集,我想我可以避免这个问题并一次将二进制文件压缩 8 位,这是我的目标。)

我希望这是清楚的,在此先感谢!

最佳答案

您的问题与 ASCII 或字符集无关。

在 Java 中,char 只是一个 16 位整数。将 int(32 位整数)转换为 char 时,您唯一要做的就是保留 int 的 16 位最低有效位,并丢弃高 16 位。这称为缩小转换

引用资料:

关于java - 在 java 中将 int 转换为 char - 我必须使用 ASCII 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4240181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com