当前位置: 首页 > 知识库问答 >
问题:

在android套接字通信中编写十六进制字符串

龙高歌
2023-03-14

我正在处理插座连接。我在客户端工作。我已经讨论了Socket作为十六进制传递值。我需要在服务器上发送字符串,例如(0x01是一个十六进制值和一个字符串“ravi”),他们需要像1 72 61 76 69这样的六进制值。我尝试将字符串Ravi转换为hexa值作为字符串并附加“1”,并尝试转换为字节数组。我得到一个异常,StringIndexOutOfBound异常。

更新:

`public static byte[]hexStringToByteArray(String s){int len=s.length();byte[]data=new byte[len/2];for(int i=0;i

public String toHex(String arg) {
    return String.format("%x", new BigInteger(arg.getBytes()));
}`

我使用了这两个方法将1RAVI字符串转换为字节数组,但我得到了exception hexstringtobytearray方法。

共有1个答案

全卜霸
2023-03-14

试试这个

        Socket sock = new Socket("host", port);
    OutputStream out = sock.getOutputStream();
    out.write(0);
String s = "ravi";
    byte[] bytes = s.getBytes("UTF-8");
    out.write(bytes);
 类似资料:
  • 问题内容: 我在ex中有整数。16,我正在尝试将此数字转换为十六进制数字。我试图通过使用十六进制函数来实现此目的,但是每当您向十六进制函数提供整数时,它都会返回十六进制数字的字符串表示形式, 有人可以告诉我如何将字符串格式的十六进制数字转换为简单的十六进制数字。 谢谢!! 问题答案:

  • 我有十六进制字符串,例如“0x103E”,我想将其转换为整数。意思是to我尝试了但它给出了数字格式异常。我如何实现这一点?

  • 我用JSON格式存储了很多颜色。我使用rootbeer via gulp将它们转换为sass映射,可以由SCSS处理: 至 我可以很好地使用语法中的颜色,但一旦应用了任何颜色函数,如,编译器就会失败,因为颜色类型完全消失了。 即使使用也不允许sass将其视为字符串,但它需要是一种颜色。 我的问题是,是否有任何方法可以让我强制编译器将此作为一种颜色来处理呢?另一种方法是省略所有内置颜色函数的使用。

  • 问题内容: 我想转换为字节数组,但是返回32个字节而不是16个字节。 问题答案: 我认为发问者正在将十六进制值的字符串表示形式转换为表示该十六进制值的字节数组。 apache commons编解码器为此提供了一个类Hex。

  • 问题内容: 我想从my_table中选择类似LIKE’%HEX(9D)’的家庭十六进制格式以9D十六进制结尾的家庭,我将excel文件转换为sqlite数据库,但是我的某些数据以9D结尾结束,我无法正确搜索,请指导我如何删除“家庭”列中的9D十六进制字符? 问题答案: 要在SQLLite中获取HEX(9D),请使用。所以要更新使用类似: ; 要不就