【问题标题】:How to make EditText to be hex by default Android如何使EditText默认为十六进制Android
【发布时间】:2015-09-19 19:10:23
【问题描述】:

我想通过 COM 端口传输十六进制数据。我有带有 EditText 的 Android 应用程序,我在其中输入格式如下的字符串:

AB 54 09 08 D0 E0 E0 E0 E0

(可以不带空格)

我需要它已经是十六进制格式。到目前为止我必须做的:

byte[] dataToSend = new byte[] {(byte)0xAB, (byte)0x54, (byte)0x09, (byte)0x08, (byte)0xD0, (byte)0xE0, (byte)0xE0, (byte)0xE0, (byte)0xE0};

(我必须在atm手动输入)

有什么方法可以默认将字符串表示为十六进制?

【问题讨论】:

  • 您是要将String转换为字节数组还是将字节数组转换为String?
  • 我希望我输入的字符串已经是十六进制格式

标签: android string android-edittext hex


【解决方案1】:

您可以将从EditText 收到的字符串传递给以下函数。它将以HEX 格式返回字符串。

public String toHex(String arg) 
{
    return String.format("%040x", new BigInteger(1, arg.getBytes(/*YOUR_CHARSET?*/)));
}

你可以用这个:

import org.apache.commons.codec.binary.Hex;
...
...
String hexString = Hex.encodeHexString(myString.getBytes(/* charset */));

http://commons.apache.org/codec/apidocs/org/apache/commons/codec/binary/Hex.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    • 2015-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多