>백엔드 개발 >PHP 튜토리얼 >PHP에서 문자열을 바이너리로 변환하고 다시 변환하는 방법은 무엇입니까?

PHP에서 문자열을 바이너리로 변환하고 다시 변환하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-04 03:52:30702검색

How to Convert Strings to Binary and Back in PHP?

PHP에서 바이너리와 문자열 변환: 종합 가이드

PHP에서 데이터 작업을 할 때 다양한 형식 간에 변환해야 하는 경우가 많습니다. 일반적인 변환 중 하나는 문자열과 바이너리 간의 변환입니다. 데이터를 안전하게 저장하기 위해서든 성능을 최적화하기 위해서든 이러한 형식 간 변환 방법을 이해하는 것이 필수적입니다.

문제:

문자열을 바이너리로 변환한 후 다시 문자열로 변환하는 방법 표준 PHP 라이브러리에 있나요? 이는 안전한 데이터 저장 및 조작을 위한 일반적인 요구 사항입니다.

해결책:

일부 프로그래밍 언어와 달리 PHP에는 문자열을 바이너리로 직접 변환하는 내장 함수가 없습니다. 그러나 pack() 및 base_convert() 함수를 조합하면 이 기능을 구현할 수 있습니다.

이진을 문자열로:

이진 문자열을 원래 문자열로 다시 변환하려면 pack을 사용할 수 있습니다. () 및 base_convert(). pack() 함수는 형식 문자열과 이진 데이터 문자열을 가져와 결합하여 문자열을 만듭니다. 우리의 경우 형식 문자열은 16진수 문자열을 나타내는 'H*'입니다. base_convert() 함수는 문자열을 한 베이스에서 다른 베이스로 변환합니다. 이 경우 16진수 문자열을 ASCII 문자 집합으로 변환합니다:

<code class="php">// Convert binary into a string
$string = pack('H*', base_convert('0101001101110100011000010110001101101011', 2, 16));</code>

문자열을 이진수로:

문자열을 이진수로 변환하려면 unpack() 및 base_convert( ). unpack() 함수는 형식 문자열과 문자열을 사용하고 지정된 형식에 따라 문자열에서 데이터를 추출합니다. 우리의 경우 16진수 데이터를 추출하기 위해 'H*' 형식을 지정합니다. base_convert() 함수는 문자열을 한 베이스에서 다른 베이스로 변환합니다. 여기서는 ASCII 문자열을 이진수 표현을 나타내는 16진수 문자열로 변환합니다.

<code class="php">// Convert a string into binary
$binary = unpack('H*', 'Stack');
echo base_convert($binary[1], 16, 2);</code>

예:

예를 들어 모두 정리하겠습니다.

<code class="php">// Convert "Stack" to binary
$binary = unpack('H*', 'Stack');
$binaryString = base_convert($binary[1], 16, 2);
echo "Binary: $binaryString\n";

// Convert binary back to "Stack"
$asciiString = pack('H*', base_convert($binaryString, 2, 16));
echo "String: $asciiString\n";</code>

출력:

Binary: 0101001101110100011000010110001101101011
String: Stack

이러한 함수를 활용하면 PHP에서 문자열과 바이너리 간을 효과적으로 변환할 수 있습니다. 이 지식은 데이터 암호화, 파일 조작 및 기타 다양한 작업에 매우 중요합니다.

위 내용은 PHP에서 문자열을 바이너리로 변환하고 다시 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.