teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

「UTF-8以外は標準関数では測れない」と書きましたが、誤りでしたので訂正しました。

2017/01/30 03:42

投稿

think49
think49

スコア18194

answer CHANGED
@@ -1,8 +1,10 @@
1
1
  ### 文字コード
2
2
 
3
3
  まず、前提としてHTML文書の文字コードは UTF-8 でしょうか。
4
- UTF-8 ならば標準関数で対応できますが、他の文字コード(Shift_JIS, ISO-2022-JP 等)は標準関数では測れないので面倒な実装にります。
4
+ UTF-8 以外の文字コードに対応するには `TextEncoder` を使用しますが、未実装ブラウザの為Polyfillを適用する必要があります。
5
5
 
6
+ ※「UTF-8以外は標準関数では測れない」と書きましたが、誤りでしたので訂正しました。
7
+
6
8
  ### UTF-8 の場合
7
9
 
8
10
  既存の回答でも可能ですが、別の切り口を紹介しておきます。
@@ -18,5 +20,9 @@
18
20
  ### TextEncoder
19
21
 
20
22
  `new TextEncoder` は IE, Edge, Safari で実装されていない為、使用する場合はご注意ください。
23
+ Polyfillがいくつかあるようです。
21
24
 
22
- - [TextEncoder & TextDecoder - Can I use...](http://caniuse.com/#feat=textencoder)
25
+ - [TextEncoder & TextDecoder - Can I use...](http://caniuse.com/#feat=textencoder)
26
+ - [https://www.google.co.jp/search?q=TextEncoder+polyfill](https://www.google.co.jp/search?q=TextEncoder+polyfill)
27
+
28
+ Re: sssssss さん