我有一个用java编程编写的函数,我想把它转换成php publicstaticstringconvertHexString(字符串十六进制){ byte[]bytes=新字节[hex.length()/2]; for(int i=0;i

我有一个用java编程编写的函数,我想把它转换成php publicstaticstringconvertHexString(字符串十六进制){ byte[]bytes=新字节[hex.length()/2]; for(int i=0;i,java,php,base64,Java,Php,Base64,上面是用java编写的函数,我想把它转换成php函数 此函数接受十六进制字符串作为参数 基本上我想把一个字符串从十六进制转换成字符串 字符串应该是二进制的 谁能帮帮我吗 提前谢谢 :)这只是做以下事情的问题: public static String convertHexString(String hex){ byte[] bytes = new byte[hex.length() / 2]; for (int i = 0; i < bytes.length; i++) { byt

上面是用java编写的函数,我想把它转换成php函数

此函数接受十六进制字符串作为参数

基本上我想把一个字符串从十六进制转换成字符串

字符串应该是二进制的

谁能帮帮我吗

提前谢谢
:)

这只是做以下事情的问题:

public static String convertHexString(String hex){
 byte[] bytes = new byte[hex.length() / 2];
 for (int i = 0; i < bytes.length; i++) {
  bytes[i] = (byte) Integer.parseInt(hex.substring(2 * i,2 * i + 2), 16);
 }  
 sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();
 System.out.println(encoder.encode(bytes));
 return encoder.encode(bytes);
}

使用
H*
参数将具有十六进制数字的任意长度字符串(每组两个数字代表一个字节,第一个数字更重要)转换为二进制字符串。另请参见。

在您的帖子中没有问题-您希望在学习PHP方面获得解决方案或帮助吗?嘿,谢谢您的回复。我尝试过pack()和base64_编码。它工作,但仍然给我的错误。让我简单地告诉你我在干什么。我使用CURL将这个转换后的字符串发送到api。我发送的参数是用json_encode()编码的。{“error”:{“message”:“未能解组输入:[Lcom.bea.wlcp.wlng.schema.ews.binary_sms.BinaryMessage;”,“type”:“com.bea.wlcp.wlng.rest.bind.UnmarshalException”}即。它没有调用远程方法。请帮助我。
base64_encode(pack("H*", $string));