こんにちは、wakです。秋ですね。寒いですね。 さて、今日もどこかから「英語は1文字1バイト、日本語は2バイト」といった雑な話が耳に入ってきて、「UTF-8で日本語はだいたい1文字3バイト!」と抗議していたのですが、エンジニアとして「だいたい」という言葉を使うのもまた雑な話です。どんな例外があるのかをまとめておくことにしました。 1匹あたり数兆個の細胞からなる猫 基礎知識 コードポイント Unicodeでは世界中全ての文字に個別のコードを振っています(これをコードポイントと呼びます)。アルファベットでもひらがな・漢字でも、絵文字でもヒエログリフでも全部です。このコードポイントは通常16進数で表し、 U+FFFF の形式で書きます。たとえば「A」なら 0x41 なので U+0041*1、「あ」なら U+3042 です。JavaScriptでは "\u0041", "\u3042" などと書け
![日本語は1文字何バイト? - Sanwa Systems Tech Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/206c4d2785a4dfd5edda50a5a9b035699bb3f31c/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fn%2Fnurenezumi%2F20171109%2F20171109172958.jpg)