>백엔드 개발 >PHP 문제 >PHP 문자를 바이트 배열로 변환하는 방법

PHP 문자를 바이트 배열로 변환하는 방법

PHPz
PHPz원래의
2023-04-25 10:43:05823검색

PHP 프로그래밍에서는 문자열을 바이트 배열로 변환해야 하는 경우가 많습니다. 이 기사에서는 PHP에서 문자를 바이트 배열로 변환하는 방법을 소개합니다.

1. str_split() 함수 사용

PHP 내장 함수 str_split()은 문자열을 문자 배열로 분할할 수 있습니다. 이 함수는 첫 번째 매개변수로 문자열을 전달하고, 두 번째 매개변수는 각 그룹의 길이를 지정합니다. 두 번째 매개변수를 지정하지 않을 경우 기본 길이는 1입니다. 다음은 문자열을 바이트 배열로 변환하는 예입니다.

$str = "Hello World";
$bytes = str_split($str);
print_r($bytes);

출력은 다음과 같습니다.

Array (
    [0] => H
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => W
    [7] => o
    [8] => r
    [9] => l
    [10] => d
)

str_split() 함수가 문자열을 바이트 배열로 성공적으로 변환한 것을 확인할 수 있습니다.

2. unpack() 함수를 사용하세요.

PHP 내장 함수 unpack()은 바이너리 문자열을 여러 변수로 나눌 수 있습니다. 이 함수를 사용하여 문자열을 바이트 배열로 변환할 수 있습니다. 예는 다음과 같습니다.

$str = "Hello World";
$bytes = unpack('C*', $str);
print_r($bytes);

출력은 다음과 같습니다.

Array(
    [1] => 72
    [2] => 101
    [3] => 108
    [4] => 108
    [5] => 111
    [6] => 32
    [7] => 87
    [8] => 111
    [9] => 114
    [10] => 108
    [11] => 100
)

unpack() 함수가 문자열을 바이트 배열로 성공적으로 변환한 것을 볼 수 있습니다.

3. mb_str_split() 함수를 사용하세요.

처리하는 문자열에 멀티바이트 문자가 포함되어 있으면 mb_str_split() 함수를 사용하여 문자열을 바이트 배열로 변환할 수 있습니다. 예는 다음과 같습니다.

$str = "你好世界";
$bytes = preg_split('//u', $str, -1, PREG_SPLIT_NO_EMPTY);
foreach($bytes as &$byte) {
    $byte = bin2hex(mb_convert_encoding($byte, 'UCS-2BE'));
}
print_r($bytes);

출력은 다음과 같습니다.

Array (
    [0] => 4f60
    [1] => 597d
    [2] => 4e16
    [3] => 754c
)

mb_str_split() 함수가 멀티바이트 문자가 포함된 문자열을 바이트 배열로 성공적으로 변환한 것을 볼 수 있습니다.

위는 PHP에서 문자를 바이트 배열로 변환하는 세 가지 방법입니다. 필요에 따라 이 기능을 구현하기 위해 다양한 방법을 선택할 수 있습니다.

위 내용은 PHP 문자를 바이트 배열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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