⑴ php 16進制轉換遇到奇怪的問題
據我曾經遇到過類似問題的經驗,你需要仔細查看下SQL語句,比如:如果某個變數內容里有單引號或雙引號,那麼,$db->query($sql)就會執行有誤。
用echo "$sql"的辦法查看輸出的SQL語句是個簡單的辦法,但需要注意一點:輸出的內容是在html里,也就是說,會經過瀏覽器的編碼,你看到的並不一定是你輸出的。
⑵ php 如何將 16進制字元串轉為16進制字元數組 或者將 2進制字元串轉為16進制字元數組
echo ord(pack("H*", 'F'));
這個方法可以把hex轉成bin數據直接寫文件什麼的都可以了
我不確定你要的答案是什麼, 不過php中並不存在字元數組這個c的概念
至於bin轉hex, 直接用bin2hex()即可, 不過由於php沒有字元數組, 餘下的如果不是你要的, 再轉其它吧
php中字元本身就可以使用$var[x]的形式直接調用單個字元, 如果樓主想問的不是這些, 歡迎追問
⑶ PHP里,16進制格式字元串,轉換成具體值的方法
還有 hexdec 這個函數number hexdec ( string $hex_string )
Example #1 hexdec() 例子
<?php
var_mp(hexdec("See"));
var_mp(hexdec("ee"));
// both print "int(238)"
var_mp(hexdec("that")); // print "int(10)"
var_mp(hexdec("a0")); // print "int(160)"
?>
⑷ php 怎麼將utf-8格式的漢字轉換成16進制
//字元串轉換成16進制
function str2hex($str){
$hex = ''
for($i=0,$length=mb_strlen($str); $i<$length; $i++){
$hex .= dechex(ord($str{$i}));
}
return $hex;
}
//16進制轉換成字元串
function hex2str($hex){
$str = ''
$arr = str_split($hex, 2);
foreach($arr as $bit){
$str .= chr(hexdec($bit));
}
return $str;
}
function test(){
//utf8字元測試
$str = '中文'
echo mb_strlen($str);
echo '<br>'
$hex = str2hex($str);
echo $hex;
echo '<br>'
$dec = hex2str($hex);
echo $dec;
echo "<br>";
echo "<hr>";
//gbk測試
$gbkstr = mb_convert_encoding($str,'GBK','UTF-8');
echo mb_strlen($gbkstr);
echo '<br>'
$hex = str2hex($gbkstr);
echo $hex;
echo '<br>'
$dec = mb_convert_encoding(hex2str($hex), 'UTF-8', 'GBK');
echo $dec;
echo "<br>";
}
⑸ PHP16進制格式字元串,轉換成具體值的方法
最簡單的就是base_convert()函數,可以實現2進制,8進制,10進制,16進制間的任意轉換,
還有hexdec()可以實現16進制轉換成10進制。
⑹ js和php中的 16進制轉字元串問題,高手進,在線等!!!
functionhex2bin(data){
vardata=(data||'')+'';
vartmpStr='';
if(data.length%2){
console&&console.warning('hex2bin():');
returnfalse;
}
if(/[^da-z]/ig.test(data)){
console&&console.warning('hex2bin():');
returnfalse;
}
for(vari=0,j=data.length;i<j;i+=2){
tmpStr+='%'+data[i]+data[i+1];
}
returndecodeURIComponent(tmpStr);
}