2バイト文字
綾坂こと「あなたが2バイト文字って言っているその文字、大抵の場合は2バイトではない。」
この表現をするとき、実際は大抵「非ASCII文字」を指します。
Shift-JISにおいて全角文字が2バイト使ってたから2バイト文字という表現が今も使われています。 しかし、現在はUnicode(UTF-8)を使うことがほとんどなので実際には2バイトで保存されていないことがほとんどです。
UTF-8において2バイトで保存されているのは以下の通り。
ラテン文字の補助・拡張(©や®、マクロン付きアルファベットなど)
国際音声記号などの「IPA拡張」
コプト文字、ギリシア文字、キリル文字、アルメニア文字、ヘブライ文字、アラビア文字、シリア文字、ターナ文字、ンコ文字
ひらがな・カタカナ・半角カナ・常用漢字・その他使用頻度の高い漢字はすべて3バイトです。
他の言語の文字もよほどマイナーでなければ3バイトです。
4バイトの文字もあります。
変体仮名や一部の漢字(異体字や超マイナー漢字など)は4バイトだったりします。「𩸽」とかが有名です。
線文字B、楔形文字などの古代文字は4バイトです。
「錬金術記号」とかいう面白い記号も4バイトの範囲に収録されています。🝳←たとえばこれは「半オンス(=14.1747615625g)」を表すらしいです。
ASCII文字の記事の一覧表の0x00〜0x20・0xFFで使っているなんかかっこいい斜め英字は4バイトの範囲(数学用英数字ブロック)に収録されています。ただの太字+斜字装飾ではない。 囲み文字(🈀🈁🈂🈐🈑🈒🈓🈔🈕🈖🈗🈘🈙🈚🈛🈜🈝🈞🈟🈠🈡🈢🈣🈤🈥🈦🈧🈨🈩🈪🈫🈬🈭🈮🈯🈰🈱🈲🈳🈴🈵🈶🈷🈸🈹🈺🈻🉀🉁🉂🉃🉄🉅🉆🉇🉈🉐🉑)は4バイトです。
また、絵文字はだいたい4バイト以上です。
👍🏾←これとかに至っては8バイトです。(👍←これ(4バイト)と🏾←これ(4バイト)が連続すると👍🏾が表示される仕組み)