如何将文本放入十六进制

时间:2015-07-07 09:18:57

标签: java hex

我正在制作一个基于十六进制网格的策略游戏。 我使用salamander2编写的代码创建了一个hexGrid。 代码在GitHub上:https://gist.github.com/salamander2/4329783. 我的问题是将我想要的文本放入十六进制网格中。它不必是一个字符串。 我想要的只是显示十六进制的建筑物数量。 这是作者用于在十六进制上显示的内容。

board [int][int] = (int) 'w';

这将在十六进制上显示“w”。

我试过了:

board[int][int] = hex.getBuildingList.size();

但它没有显示具体的数字。 至于代码,我在Sysytem.print中尝试了它,它显示了每个十六进制的正确数字。 有人能帮帮我吗? 我尝试过这样的事情:

Integer bN = hex.getBuildingList().size();
                    String b = stringToHex(bN.toString());

                    board[p.x][p.y] = b;

但它给了我一个错误,b是字符串而不是int。

1 个答案:

答案 0 :(得分:0)

static public String stringToHex(String s) {
        char[] chars = s.toCharArray();
        String next;
        StringBuffer output = new StringBuffer();
        for (int i = 0; i < chars.length; i++) {
            next = Integer.toHexString((int)chars[i]);
            // Unfortunately, toHexString doesn't pad with zeroes, so we have to.
            for (int j = 0; j < (4-next.length()); j++)  {
                output.append("0");
            }
            output.append(next);
        }
        return output.toString();
    }

来源位于以下链接。我在使用bulkSMS时遇到过这种情况 http://developer.bulksms.com/eapi/code-samples/java/unicode/