ì´ì§ ë°ì´í°ê° 문ìì´ì´ë¼ë©´ ì´ë¨ì§ ìê°í´ë´ ìë¤. ì를 ë¤ì´ í ì¤í¸ ë°ì´í°ê° ìë íì¼ì ë°ìë¤ê³ ê°ì íê² ìµëë¤.
ë´ì¥ ê°ì²´, TextDecoderë 주ì´ì§ ë²í¼ì ì¸ì½ë©ì¼ë¡ ê°ì ì¤ì ìë°ì¤í¬ë¦½í¸ 문ìì´ë¡ ì½ì ì ìê² í´ì¤ëë¤.
첫 ë²ì§¸ë¡ ê°ì²´ë¥¼ ìì±í©ëë¤.
let decoder = new TextDecoder([label], [options]);
labelâ 기본ì ì¸ ì¸ì½ë© ë°©ììutf-8ì´ì§ë§big5,windows-1251ë° ë¤ë¥¸ ì¸ì½ë© ë°©ìë ì§ìë©ëë¤.optionsâ ì í í목ì ëë¤.fatalâ ë¶ë¦° ê°.trueì¸ ê²½ì°, ì못ë ê¸ì(ëì½ë© ë¶ê°ë¥í ê¸ì)를 ëìì¼ë¡ ìì¸ë¥¼ ëì§ëë¤.false(기본ê°)ì¸ ê²½ì°, ê¸ì를\uFFFDë¡ ëì²´í©ëë¤.ignoreBOMâ ë¶ë¦° ê°ì´trueì¸ ê²½ì° ì¬ì©ëì§ ìë ë°ì´í¸ ìì íì(Byte Order Mark, BOM)ì 무ìí©ëë¤.
ê·¸ë° ë¤ì ìì±íë ê°ì²´ë¥¼ ëì½ë©í©ëë¤.
let str = decoder.decode([input], [options]);
inputâ ëì½ë©íBufferSource를 ì ë ¥í©ëë¤.optionsâ ì í í목ì ëë¤.streamâ ë§ì ìì ë°ì´í°ë¥¼ ë°ìë¤ì¬decoder를 ë°ë³µì ì¼ë¡ í¸ì¶í ëë decodingì´ ë°ë³µì ì¼ë¡ ì¤íë©ëë¤. ì´ë° ê²½ì° ë©í° ë°ì´í¸ 문ìê° ë§ì ë°ì´í°ë¡ ë¶í ë ì ììµëë¤. ì´ ìµì ì ë°ì´í° ë¶í ì ë°©ì§í기 ìí´TextDecoderì âunfinishedâ 문ì를 ì ë ¥ìí¤ê³ ë¤ì ë°ì´í°ê° ì¤ë©´ ëì½ë©íëë¡ ì§ìí©ëë¤.
ìì:
let uint8Array = new Uint8Array([72, 101, 108, 108, 111]);
alert( new TextDecoder().decode(uint8Array) ); // Hello
let uint8Array = new Uint8Array([228, 189, 160, 229, 165, 189]);
alert( new TextDecoder().decode(uint8Array) ); // ä½ å¥½
ë²í¼ì íì ë°°ì´ ë·°ë¥¼ ìì±íì¬ ë²í¼ì ì¼ë¶ë¥¼ ëì½ë© í ì ììµëë¤.
let uint8Array = new Uint8Array([0, 72, 101, 108, 108, 111, 0]);
// 문ìì´ì ëíë´ë ë°°ì´ì ììë ì¤ê°ì ì¡´ì¬í©ëë¤.
// ë°°ì´ì ë³µì¬ ìì´ ë¬¸ìì´ì ì¶ë ¥í ì ììµëë¤.
let binaryString = uint8Array.subarray(1, -1);
alert( new TextDecoder().decode(binaryString) ); // Hello
í ì¤í¸ ì¸ì½ë
TextEncoderë ë°ëë¡ ë¬¸ìì´ì ë°ì´í¸ë¡ ë³íí©ëë¤.
문ë²ì ë¤ìê³¼ ê°ìµëë¤.
let encoder = new TextEncoder();
TextEncoderë ì¸ì½ë© ì 'utf-8âë§ ì§ìí©ëë¤.
2ê°ì§ ë©ìëê° ììµëë¤.
encode(str)âUint8Arrayì 문ìì´ì ë°íí©ëë¤.encodeInto(str, destination)âUint8Array구조 ííë¡ ë¬¸ìì´str를destinationì ì¸ì½ë©í©ëë¤.
let encoder = new TextEncoder();
let uint8Array = encoder.encode("Hello");
alert(uint8Array); // 72,101,108,108,111
ëê¸
<code>í그를, ì¬ë¬ ì¤ë¡ 구ì±ë ì½ë를 ì½ì íê³ ì¶ë¤ë©´<pre>í그를 ì´ì©íì¸ì. 10ì¤ ì´ìì ì½ëë plnkr, JSBin, codepen ë±ì ìëë°ì¤ë¥¼ ì¬ì©íì¸ì.