TextDecoder#
TextDecoder.encoding#
Właściwość encoding
zwraca nazwęz kodowaniaTD skojarzonego z danym dekoderem tekstowym uprzednio przekonwertowaną na małe znaki ASCII. Właściwość jest tylko do odczytu.
Opis działania#
Samo wywołanie i poszczególne jego części najlepiej objaśnić na zapisie składniowym:
var encoding_name = textDecoder.encoding;
gdzie poszczególne człony oznaczają:
- encoding_name - łańcuch znakowy reprezentujący zapisaną małymi literami nazwę ze stosowanego kodowania. Zwracane będą wszystkie dopuszczalne nazwy kodowań prócz "
replacement
". - textDecoder - dekoder tekstowy będący obiektem kontekstu.
Kodowanie jest ustalane przy tworzeniu dekodera tekstowego w oparciu o wartość pierwszego argumentu przekazanego do konstruktora new TextDecoder()
i nie podlega zmianie. W razie potrzeby należałoby utworzyć nowy dekoder tekstowy z pożądanym kodowaniem.
Konwersja nazwy danego kodowania na małe znaki ASCII jest obligatoryjna dla wszystkich nowych poleceń zwracających informację o używanym kodowaniu.
Prosty przykład:
<!DOCTYPE html>
<html>
<head>
<script>
function createDecoder(label, options, variant){
var info = document.getElementById("info");
var passLabel;
var passOptions;
if (variant == 0){
passLabel = "brak";
passOptions = "brak";
var new_decoder = new TextDecoder();
}
else if (variant == 1){
passLabel = label;
passOptions = "brak";
var new_decoder = new TextDecoder(label);
}
else {
passLabel = label;
passOptions = JSON.stringify(options);
var new_decoder = new TextDecoder(label, options);
}
info.innerHTML = "Interfejs dekodera tekstowego: " + new_decoder
+ "<br>" + "Pierwszy argument z konstruktora (łańcuch): " + passLabel
+ "<br>" + "Drugi argument z konstruktora (obiekt): " + passOptions
+ "<br>" + "Właściwość encoding: " + new_decoder.encoding
+ "<br>" + "Właściwość fatal: " + new_decoder.fatal
+ "<br>" + "Właściwość ignoreBOM: " + new_decoder.ignoreBOM;
}
</script>
</head>
<body>
<p>Kliknij przycisk by utworzyć nowy obiekt TextDecoder.</p>
<ul>
<li>
<div>Prawidłowe wartości dla kodowania UTF-8:</div>
<input type="button" value="new TextDecoder()" onclick="createDecoder('', '', 0)">
<input type="button" value="new TextDecoder('utf8')" onclick="createDecoder('utf8', '', 1)">
<input type="button" value="new TextEncoder('UTF8')" onclick="createDecoder('UTF8', '', 1)">
<input type="button" value="new TextEncoder('utf-8', {})" onclick="createDecoder('utf-8', {}, 2)">
<input type="button" value="new TextEncoder('UtF-8', {fatal:true})" onclick="createDecoder('UtF-8', {fatal:true}, 2)">
<input type="button" value="new TextEncoder('unicode-1-1-utf-8', {ignoreBOM:true})" onclick="createDecoder('unicode-1-1-utf-8', {ignoreBOM:true}, 2)">
<input type="button" value="new TextEncoder('uNiCoDe-1-1-UTF-8', {fatal:false; ignoreBOM:false})" onclick="createDecoder('uNiCoDe-1-1-UTF-8', {fatal:false, ignoreBOM:false}, 2)">
</li>
<li>
<div>Prawidłowe wartości dla kodowania IBM866:</div>
<input type="button" value="new TextDecoder('866')" onclick="createDecoder('866', '', 1)">
<input type="button" value="new TextEncoder('cp866')" onclick="createDecoder('cp866', '', 1)">
<input type="button" value="new TextEncoder('CP866', {})" onclick="createDecoder('CP866', {}, 2)">
<input type="button" value="new TextEncoder('cSiBm866', {fatal:true})" onclick="createDecoder('cSiBm866', {fatal:true}, 2)">
<input type="button" value="new TextEncoder('ibm866', {ignoreBOM:true})" onclick="createDecoder('ibm866', {ignoreBOM:true}, 2)">
<input type="button" value="new TextEncoder('IbM866', {fatal:false; ignoreBOM:false})" onclick="createDecoder('IbM866', {fatal:false, ignoreBOM:false}, 2)">
</li>
</ul>
<p style="color: blue;">Szczegółowe informacje dla nowego obiektu TextDecoder:</p>
<p id="info"></p>
</body>
</html>
Składnia Web IDL#
[Exposed=Window,Worker] interface TextDecoder { readonly attribute DOMString encoding; };
Specyfikacje i inne materiały#
Pasek społecznościowy