PHP.mk документација

UConverter::transcode

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

uconverter.transcode.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека uconverter.transcode.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
UConverter::transcode

Референца за `uconverter.transcode.php` со подобрена типографија и навигација.

uconverter.transcode.php

UConverter::transcode

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::transcodeПретвори стринг од една кодовна шема во друга

= NULL

public static UConverter::transcode(
         string $str,
         string $toEncoding,
         string $fromEncoding,
         ?array $options = null
): string|false

Претвора str from fromEncoding to toEncoding.

Параметри

str

На string за претворање.

toEncoding

Саканата кодовна шема на резултатот.

fromEncoding

Тековната кодовна шема што се користи за толкување str.

options

Опционален array, кои може да ги содржат следниве клучеви:

  • 'to_subst' - заменскиот знак што треба да се користи наместо кој било знак од str , што не може да се кодира во toEncoding. Ако е наведено, мора да претставува еден знак во целниот кодирање.

Вратени вредности

Враќа претворена низа или false при неуспех.

Примери

Пример #1 Конвертирање од UTF-8 во UTF-16 и назад

<?php
$utf8_string
= "\x5A\x6F\xC3\xAB"; // 'Zoë' in UTF-8
$utf16_string = UConverter::transcode($utf8_string, 'UTF-16BE', 'UTF-8');
echo
bin2hex($utf16_string), "\n";

$new_utf8_string = UConverter::transcode($utf16_string, 'UTF-8', 'UTF-16BE');
echo
bin2hex($new_utf8_string), "\n";
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

005a006f00eb
5a6fc3ab

Пример #2 Невалидни знаци во влезот

Ако влезната низа содржи низа од бајти што не е валидна во кодирањето наведено од fromEncoding, тие се заменуваат со Unicode точка на кодот U+FFFD (Replacement Character) пред да се претворат во toEncoding.

<?php
$invalid_utf8_string
= "\xC3"; // incomplete multi-byte UTF-8 sequence
$utf16_string = UConverter::transcode($invalid_utf8_string, 'UTF-16BE', 'UTF-8');
echo
bin2hex($utf16_string), "\n";
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

fffd

Пример #3 Знаци што не можат да се кодираат

Ако влезната низа содржи знаци што не можат да се претстават во toEncoding, тие се заменуваат со еден знак. Стандардниот знак за употреба зависи од кодирањето и може да се контролира со помош на 'to_subst' option.

<?php
$utf8_string
= "\xE2\x82\xAC"; // € (Euro Sign) does not exist in ISO 8859-1

// Default replacement in ISO 8859-1 is "\x1A" (Substitute)
$iso8859_1_string = UConverter::transcode($utf8_string, 'ISO-8859-1', 'UTF-8');
echo
bin2hex($iso8859_1_string), "\n";

// Specify a replacement of '?' ("\x3F") instead
$iso8859_1_string = UConverter::transcode(
$utf8_string, 'ISO-8859-1', 'UTF-8', ['to_subst' => '?']
);
echo
bin2hex($iso8859_1_string), "\n";

// Since ISO 8859-1 cannot map U+FFFD, invalid input is also replaced by to_subst
$invalid_utf8_string = "\xC3"; // incomplete multi-byte UTF-8 sequence
$iso8859_1_string = UConverter::transcode(
$invalid_utf8_string, 'ISO-8859-1', 'UTF-8', ['to_subst' => '?']
);
echo
bin2hex($iso8859_1_string), "\n";
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

1a
3f
3f

Види Исто така

  • mb_convert_encoding() - Преобразува стринг од една кодировка на знаци во друга
  • iconv() - Преобразува стринг од една кодировка на знаци во друга

Белешки од корисници

Нема белешки од корисници за оваа страница.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.