2010-08-19 3 views
2
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); 
} 

ci-dessus est la fonction écrite en Java, je veux le convertir en fonction php.J'ai une fonction écrite en programmation Java, je veux le convertir en php

Cette fonction accepte la chaîne HEX en tant que paramètre.

Fondamentalement, je veux convertir une chaîne d'un hex à la chaîne.

la chaîne doit être binaire.

S'il vous plaît, n'importe qui peut m'aider.

Merci à l'avance :)

+1

Il n'y a pas de question dans votre message - voulez-vous la solution ou l'aide où vous pouvez apprendre PHP? – alopix

Répondre

4

Il est juste une question de faire:

base64_encode(pack("H*", $string)); 

pack avec l'argument H* convertit une chaîne de longueur arbitraire avec des chiffres hexadécimaux (chaque groupe de deux chiffres représentant un octet et le premier plus significatif) dans une chaîne binaire. Voir également base64_encode.

+0

hey merci pour votre réponse. J'ai essayé pack() et base64_encoding. Cela fonctionne mais me donne toujours l'erreur. Permettez-moi de vous informer de ce que m. J'envoie cette chaîne convertie à une API en utilisant CURL. Les paramètres que j'envoie sont codés avec json_encode(). {"error": {"message": "Échec de l'entrée unmarshal: [Lcom.bea.wlcp.wlng.schema.ews.binary_sms.BinaryMessage;", "type": "com.bea.wlcp.wlng.rest .bind.UnmarshalException "}} ie. son invocation de la méthode distante. S'il vous plaît aidez-moi avec ceci. – dirtycode

Questions connexes