Closed pandanoir closed 4 years ago
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt
charCodeAtはその位置の文字のUTF-16コードを返すらしい。
Base64
あるビット列を変換するもの。元の文字列の文字コードは関係なさそう。
JSだとwindow.btoaでエンコード、atobでデコードできる
https://jsprimer.net/basic/string-unicode/
ファイルの文字コードとJS内部の文字コードは関連がないらしい。JS内部はUnicode使ってる。 それはそれとしてJSはUnicodeとして読み取ろうとするからShift-JISとかで書くと普通に文字化けする。
Unicode: 文字コード UTF-8: Unicodeのエンコード方式
らしい。で、JSではUTF-16でエンコードしてるらしい
→つまりUTF-8でエンコードされたものがUnicodeということか?
文字化けはエンコード方式の違いのほかに、システムがあるサイズの文字コードだけ扱おうとしているケースなどでも起こりうるらしい。まあ文字コードの違いが一番頻繁だろうけど。
JSは内部では文字コードとしてUnicodeを使用している。JSプログラムが書かれたファイルの文字コードが何であろうとUnicodeを使っている。他の言語については特に調べていないが、おそらくほかも同様だろう(ファイルに依存した実装は非常に不安定になるので)。
なんか漠然としか知らんので。
文字化けとは? ファイルにどう保存されてる? プログラムはリテラルで渡されたあとにどう文字列を持っている? その他なんか適当に