2011-12-16 21 views
6

मुझे लगता है कि इस तरह की स्ट्रिंग है:पीएचपी स्ट्रिंग हेक्स के लिए

[0-9A-Za-z\+/=]* 

मैं निम्नलिखित रूप में कैसे परिवर्तित कर सकते हैं:

"\133\x30\55\x39\101\x2d\132\x61\55\x7a\134\x2b\57\x3d\135\x2a" 

वहाँ उस के लिए किसी भी समारोह है?

+5

यह तय करने के लिए आपका स्किज़ोफ्रेनिक नियम क्या है कि आप हेक्स फॉर्म या दशमलव फॉर्म चाहते हैं या नहीं? –

उत्तर

11
function strtohex($string) 
{ 
    $string = str_split($string); 
    foreach($string as &$char) 
    $char = "\x".dechex(ord($char)); 
    return implode('',$string); 
} 

print strtohex("[0-9A-Za-z\+/=]*"); 

ऊपर कोड आप

\x5b\x30\x2d\x39\x41\x2d\x5a\x61\x2d\x7a\x5c\x2b\x2f\x3d\x5d\x2a 

दे देंगे मुझे पता है कि यह उत्पादन जैसा कि आप उम्मीद की तरह नहीं दिखता है, लेकिन है कि सब पर हेक्स के लिए स्ट्रिंग होने के लिए प्रतीत नहीं होता।

+0

कूल! धन्यवाद ! :) मैं आपके जवाब को 5 मिनट की सीमा के बाद उत्तर के रूप में चिह्नित करूंगा :) –

2

यदि आप ऐसी स्ट्रिंग obfuscation करना चाहते हैं, तो @ क्रिस्टियन दृष्टिकोण जैसे कुछ का उपयोग करें। और आप दो एन्कोडिंग विधियों के बीच वैकल्पिक कर सकते हैं उदाहरण के साथ:

$char = (++$i%2) ? "\x".dechex(ord($char)) : "\\".decoct(ord($char)); 
संबंधित मुद्दे