【问题标题】:Converting a String to ASCII format and then to HEX format将字符串转换为 ASCII 格式,然后转换为 HEX 格式
【发布时间】:2011-09-06 21:22:29
【问题描述】:

我必须将值 {"STX","ETX"} 的普通字符串数组转换为十六进制值,我应该根据http://www.asciitable.com/ 得到 {2,3}。

【问题讨论】:

    标签: java ascii hex


    【解决方案1】:

    听起来你想要一个Map<String, Char>,例如:

    Map<String, Char> map = new HashMap<String, Char>();
    map.put("STX", '\u0002');
    map.put("ETX", '\u0003');
    // etc
    

    我不相信 Java 标准库中内置了任何此类映射。

    Char 转换为十六进制字符串是一个单独的步骤。那里有很多选项,部分取决于您使用的 Java 版本。

    【讨论】:

    • 那么我向您展示的 asciitable 链接中有什么?当我尝试将 ascii 值转换为 HEX 时,我得到不同的值,这与我在该表中看到的 wat 没有任何关系。
    • @Deepak:那个 ASCII 表只显示了不可打印字符的名称。您尚未显示如何尝试进行任何转换。我已经向您展示了如何使用地图来做到这一点,但要求这样做很奇怪......
    • 实际上我要做的就是使用它发送到串口。所以我认为最好用相同的十六进制数字构建消息,这样就可以消除转换..
    • @Deepak:如果您尝试将内容发送到串行端口,您应该处理 bytes 而不是其他任何东西。
    • @Deepak:我敢肯定它们并不是真的意味着您需要将它们翻译成十六进制。我很确定您可以提供相关字节...
    猜你喜欢
    • 2012-01-20
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多