PHP에서는 이진 문자열을 처리 할 때 종종 비트의 일부를 추출하거나 수정 해야하는 경우가 종종 있습니다. bindec () 함수는 이진 문자열을 소수 정수로 변환 할 수있는 반면, substr () 함수는 문자열의 일부를 가로 채는 데 도움이 될 수 있습니다. 둘을 함께 사용하면 이진 문자열에서 비트 레벨 작업이 가능합니다.
bindec (String $ binary_string) : int
문자열의 이진 표현을 소수 정수로 변환하십시오. 예를 들면 : bindec ( '101')는 5를 반환합니다.
substr (String $ string, int $ start, int $ length = null) : String
문자열에서 서브 스트링을 자릅니다. 예를 들면 : substr ( '101101', 2, 3)은 '110'을 반환합니다.
비트 3에서 시작하여 4 비트 이진 번호를 추출한 다음 소수점으로 변환 할 바이너리 스트링이 있다고 가정하십시오.
<?php
$binaryString = "1101011011"; // 원래 바이너리 문자열
// 사용 substr 인덱스에서 가로 채기 2 시작 길이는입니다 4 의 하위 문자(인덱스에 유의하십시오0시작)
$subBinary = substr($binaryString, 2, 4); // "0101"
// 사용 bindec 인터셉트 된 바이너리 스트링을 소수로 변환하십시오
$decimalValue = bindec($subBinary);
echo "이진 기판: " . $subBinary . "\n"; // 산출: 0101
echo "해당 소수점 값: " . $decimalValue . "\n"; // 산출: 5
?>
substr ($ binarystring, 2, 4) : 원래 문자열의 세 번째 문자에서 시작하여 (인덱스는 0에서 카운트) 길이는 4이며 "0101"을 얻습니다.
bindec ( "0101") : "0101"을 10 진수로 변환합니다.
추출 외에도 특정 바이너리 스트링을 수정할 수도 있습니다.
<?php
$binaryString = "1101011011";
// 할 것이다5조금(색인은입니다4)변경1
$pos = 4;
$newBit = '1';
// 문자열을 수정하십시오
$binaryString = substr_replace($binaryString, $newBit, $pos, 1);
echo "수정 된 이진 문자열: " . $binaryString . "\n";
?>
substr ()를 가로 채서 문자열과 bindec () 변환 함수를 결합함으로써, 이진 문자열을 비트 수준에서 쉽게 추출하고 변환 할 수 있으며, 다른 문자열 작동 기능은보다 복잡한 이진 데이터 처리를 실현할 수 있습니다.