2011-08-08 53 views
-1

我將代碼從perl轉換爲java。我有點在Java中找到等價物。Java十進制/ ascii和base轉換

這裏是我的Perl代碼:

for($i = 0; $i < strlen($hex_); $i = $i + 2) 
    { 
     $ascii = $ascii.chr(hexdec(substr($hex_, $i, 2))); 
    } 

所以在java中我可以做hex.substring(1,2)。我得到了那部分。

我該如何做Java中的chr和hexdec部分?

這裏是我到目前爲止

回答

0

我真的很驚訝你沒有使用你的Perl版本pack

$ascii = pack 'H*', $hex_; 

無論如何,你的Perl代碼Java移植,如果你想將它手工編碼(而不是使用類似Apache Commons Codec)是:

StringBuilder sb = new StringBuilder(); 
for (int i = 0; i + 1 < hex.length(); i += 2) 
    sb.append((char) Integer.parseInt(hex.substring(i, i + 2))); 
String ascii = sb.toString();