Java 十进制/ascii 和基数转换
我正在将代码从 perl 转换为 java。我有点坚持在java中寻找等价物。
这是我的 Perl 代码:
for($i = 0; $i < strlen($hex_); $i = $i + 2)
{
$ascii = $ascii.chr(hexdec(substr($hex_, $i, 2)));
}
所以在 java 中我可以执行 hex.substring(i,2)。我得到了那部分。
我将如何在Java中执行chr和hexdec部分?
这是我到目前为止所拥有的
I'm converting code from perl to java. I'm sort of stuck on finding the equivalents in java.
Here's my Perl code:
for($i = 0; $i < strlen($hex_); $i = $i + 2)
{
$ascii = $ascii.chr(hexdec(substr($hex_, $i, 2)));
}
so in java i can do hex.substring(i,2). I got that part.
How would I do the chr and hexdec part in Java?
Here's what I have so far
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您无需手动解析十六进制数字,只需使用 Integer.parseInt(String s, int radix)。类似地,有一个 Integer.toString(int i, int radix) 它将把你的整数转换为具有所需基数的字符串。
There is no need for you to go about parsing hexadecimal numbers manually, you can just use Integer.parseInt(String s, int radix). Similarily, there is an Integer.toString(int i, int radix) which will convert your integer to a String with the desired base.
实际上,我非常惊讶您没有在 Perl 版本中使用
pack
!无论如何,如果您想手动编码(而不是使用诸如 Apache Commons 之类的东西),则 Perl 代码的 Java 端口编解码器)是:
I'm actually extremely surprised you didn't use
pack
for your Perl version!Anyway, the Java port of your Perl code, if you want to code it manually (as opposed to using something like Apache Commons Codec) is: