Windows≠シフトJIS

拙著にも書いていましたが、このマイクロソフト社のBlogを読めば「日本語だからシフトJIS。Unicodeは知らなくて良い」という考えは通じなかったことがわかると思います。
以下、枠内はマイクロソフト社公式のBlogからの抜粋です。
https://blogs.windows.com/japan/2020/02/20/about-windows-and-japanese-text/

Windows は非常に初期のバージョンから Unicode に準拠して設計・開発され、その歴史は 20 年を超えます

日本語の文字のみを使用している場合も、Unicode とは密接な関係があります。JIS 漢字コードとして定義されている文字の中には、Unicode でのみ表現可能な文字が多数定義されています。また、常用漢字表に収録されている文字の一部にも、Unicode を使用しなければ表現できない文字が存在しています。ご存じの通り、日本語専用の文字コードとしては、Windows 上でも Shift-JIS を使用することができ、そのようなアプリケーションとの互換性も可能な限り維持していますが、Unicode でのみ取り扱うことのできる文字が、そのようなアプリケーションに入力された場合は、いわゆる文字化けや文字抜けが発生することとなります

最近では、2019 年 5 月より施行された新元号の合字「㋿」(U+32FF) が新しい Unicode 文字として追加されており、旧来より運用されている、例えば Visual Basic 6.0 で開発されたアプリケーションのように Unicode 非対応のアプリケーションで、この合字を使用できないというお問い合わせを非常に多数いただいております

さしあたり令和合字の問い合わせが多いことが問題です。
「Windowsに限らず、すでにシフトJIS(JIS X 0208,0213)は過去の物になっていて、現在はJISもメンテナンスしていない」ことを知らないからだと思われます。
そしてWindows(NT系)の内部文字コードはNT3.1の頃からUnicodeなのですが、これを知らないことも原因だと思われます。
※Windows CEも内部文字コードはUnicodeです
OS内部がMBCS(シフトJIS)で動作していたのはMS-DOSやWindows9x(+ME)シリーズまでです。

また「UnicodeはJIS漢字(JIS X 0208)のエンコードの一つ」と勘違いしている方が多数いらっしゃるようです。
いわゆるシフトJIS(CP932等)はJIS X 0201+0208の符号化形式で、UTF-8/16/32はUnicodeの 符号化 形式 です。
元になっている符号化文字集合は別の物です。
※JIS X 0208=シフトJIS、EUC-JP、ISO-2022-JP
※Unicode=UTF-8,16,32
令和合字はUnicodeに登録されましたがJIS X 0208には登録されていません。
だからシフトJISでは令和合字は扱えません。

このあたりの区別と理解が出来ていない方のための著書を書いています。

たかが文字コード、されど文字コード/Vol1.ShiftJISerへ贈る鎮魂歌+Vol2.Unicode練習曲
https://booth.pm/ja/items/907868

コメントを残す

メールアドレスが公開されることはありません。

「Windows≠シフトJIS」への1件のフィードバック