
日本語とコンピュータの関係においては、多くの適応上の問題が生じます。その中には日本語特有のものもあれば、文字数が非常に多い言語に共通するものもあります。英語を書くのに必要な文字数は非常に少ないため、各英語の文字を1バイト(2⁸ = 256通り)でエンコードすることが可能です。しかし、日本語の文字数は256文字をはるかに超えるため、1バイトではエンコードできません。そのため、日本語は2バイト以上を使用してエンコードされ、いわゆる「ダブルバイト」または「マルチバイト」エンコード方式が用いられます。こうした問題には、音訳とローマ字表記、文字エンコード、日本語テキストの入力などが含まれます。
日本語の文字をコンピュータで使用するためにエンコードする標準的な方法はいくつかあり、 JIS、Shift-JIS、EUC、Unicodeなどがあります。かなのセットをマッピングするのは簡単なことですが、漢字はより難しいことがわかっています。努力にもかかわらず、どのエンコード方式も事実上の標準にはなっておらず、2000年代には複数のエンコード標準が使用されていました。2017年現在、インターネット上のUTF-8トラフィックの割合は世界中で90%を超え、Shift-JISとEUCを使用しているのはわずか1.2%です。しかし、2ちゃんねるやkakaku.comなどの人気のあるウェブサイトの中には、まだShift-JISを使用しているものもあります。[ 1 ]
2000年代までは、日本の電子メールのほとんどはISO-2022-JP(「JISエンコーディング」)で、ウェブページはShift-JISで、日本の携帯電話は通常、何らかの形式のExtended Unix Codeを使用していた。[ 2 ]プログラムが使用されているエンコーディング方式を判別できない場合、文字化け(「誤って変換された文字」、文字通り「変換された文字」)が発生し、コンピュータ上でテキストが読み取れなくなる可能性がある。


最初に広く普及したエンコーディングはJIS X 0201で、これは標準的な7ビットASCII文字に半角カタカナ拡張を加えた1バイトエンコーディングです。この方式は、漢字を処理するのに十分な処理能力や記憶容量を持たないシステム(レジスターなどの古い組み込み機器を含む)で広く使用されました。なぜなら、かなと漢字の変換には複雑な処理が必要であり、漢字での出力には多くのメモリと高解像度が必要だったからです。つまり、この方式では漢字ではなくカタカナのみがサポートされていました。現在でも、一部の組み込みディスプレイにはこの制限が残っています。
漢字エンコーディングの開発が、この分裂の始まりでした。Shift JISは漢字をサポートしており、JIS X 0201との完全な下位互換性を持つように開発されたため、電子機器に広く組み込まれています。しかし、Shift JISには、専用に設計されていないパーサー(エンコードされたテキストを読み取るソフトウェア)をしばしば破損させてしまうという欠点があります。
例えば、Shift-JIS文字の中には、2バイト目にバックスラッシュ(0x5C "\")が含まれるものがあり、これは多くのプログラミング言語でエスケープ文字として使用されます。
Shift JIS をサポートしていないパーサーは、これを無効なエスケープシーケンスとして認識し、削除します。[ 3 ]そのため、このフレーズは文字化けを引き起こします。0x5C 0x82
これは、例えばC言語でテキスト文字列にShift-JISが含まれている場合に発生する可能性があります。HTMLでは、ASCII 0x00 ~ 0x3F("、 %、&、その他いくつかのエスケープ文字や文字列区切り文字を含む)がShift-JISの2バイト目に現れず、バックスラッシュもエスケープ文字ではないため、このような現象は発生しません。しかし、 HTMLページに埋め込むことができるJavaScriptでは発生する可能性があります。
一方、EUCは7ビットASCII用に書かれたパーサーでより適切に処理されます(そのため、 EUCエンコーディングはUNIXで使用されています。UNIXのファイル処理コードの多くは、歴史的に英語エンコーディングのみ用に書かれていました)。しかし、EUCは最初の主要な日本語エンコーディングであるJIS X 0201との下位互換性がありません。さらに、元のインターネット電子メール規格は7ビット転送プロトコルのみをサポートしているため、問題が複雑化します。そのため、電子メールの送受信のためにRFC 1468(「ISO-2022-JP 」、単にJISエンコーディングと呼ばれることが多い)が開発されました。

JISなどの文字セット規格では、必要な文字がすべて含まれているわけではないため、文字セットを補完するために外字(外文字)が使用されることがあります。外字は、通常の文字が新しい文字に置き換えられた外部フォントパックの形式をとる場合もあれば、未使用の文字位置に新しい文字が追加されている場合もあります。しかし、外字を使用するにはフォントセットをテキストと一緒に転送する必要があるため、インターネット環境では外字は実用的ではありません。そのため、そのような文字は類似した文字やより簡単な文字で記述されるか、必要な文字をサポートするより大きな文字セット(Unicodeなど)を使用してテキストをエンコードする必要がある場合があります。[ 4 ]
Unicodeは、あらゆる言語のあらゆるエンコーディングの問題を解決することを目的としていました。ウェブページでUnicodeをエンコードするために使用されるUTF-8エンコーディングには、Shift-JISのような欠点はありません。Unicodeは国際的なソフトウェアでサポートされているため、外字は不要です。しかし、まだ議論の余地があります。日本語の場合、漢字は中国語と統一されています。つまり、日本語と中国語で同じとみなされる文字には、見た目が多少異なっていても、単一の番号が割り当てられ、正確な見た目は地域に適したフォントの使用に委ねられています。このプロセスは「漢統一」と呼ばれ、議論を呼んでいます。日本、台湾地域、中国本土、韓国のこれまでのエンコーディングは1つの言語しか扱っていませんでしたが、Unicodeはすべての言語を扱うべきです。しかし、漢字/中国語の処理は、4つの国/地域すべての代表者で構成される委員会によって設計されました。
日本語の書き言葉には、漢字(中国語の文字)、2種類の仮名(音節文字)、ローマ字など、いくつかの異なる文字体系が使われます。仮名とローマ字はコンピュータに直接入力できますが、漢字の入力は、ほとんどのキーボードのキーの数よりもはるかに多くの漢字があるため、より複雑なプロセスになります。現代のコンピュータで漢字を入力するには、通常、最初に漢字の読みを入力します。次に、入力メソッドエディタ(IME)、またはフロントエンドプロセッサと呼ばれることもあるものが、音節が一致する候補の漢字のリストを表示し、ユーザーが正しい漢字を選択できるようにします。より高度なIMEは、単語単位ではなくフレーズ単位で動作するため、目的の文字が最初に表示される可能性が高くなります。漢字の読みの入力は、ローマ字入力(ローマ字入力)または直接仮名入力(仮名入力)のいずれかで行うこと ができます。 PCやその他のフルサイズキーボードではローマ字入力が一般的ですが(直接入力も広くサポートされています)、携帯電話や同様のデバイスでは直接かな入力が一般的です。10個の数字(1~9、0)はそれぞれ五十音かな表の10列の1つに対応しており、複数回押すことで行を選択できます。
日本語のローマ字表記には訓令式とヘボン式という2つの主要なシステムがありますが、実際には「キーボードローマ字」(ワープロローマ字または「ワードプロセッサローマ字」とも呼ばれる)は、一般的に両方の緩やかな組み合わせを可能にしています。IMEの実装によっては、 Lなどのどのローマ字表記体系でも使用されていない文字のキーを処理し、最も適切な同等の文字に変換することもあります。かな入力の場合、キーボードの各キーは1つのかなに直接対応します。JISキーボードシステムは国の標準ですが、プロのタイピストの間でよく使用されるサムシフトキーボードなどの代替システムもあります。

日本語は2つの書き方があります。横書きは英語と同じように左から右、上から下に書きます。立書きはまず上から下に書き、次に右から左に書きます。
市太郎に対抗するため、マイクロソフトは、 Word 5.0 Power Up KitやWord 98など、下向きテキストのサポートを含む、初期の日本語版Microsoft Wordにいくつかのアップデートを提供した。 [ 5 ] [ 6 ]
QuarkXPressは、開発期間が長かったにもかかわらず、1990年代の日本で最も人気のあるDTPソフトウェアでした。しかし、下向きのテキストのサポートが不足していたため、数回のアップデートで下向きのテキストを強力にサポートしたAdobe InDesignに追い抜かれました。[ 7 ] [ 8 ]
CSSwriting-mode: vertical-rlレベル3でプロパティと値が導入されるまで、HTMLは立書きのサポートが不十分で[ 9 ]、日本人ユーザーはそれをシミュレートするためにHTMLテーブルを使用する必要がありました。
1980年代、コンピュータにおける適切な日本語文字サポートの欠如は、日本の市場における大手アメリカ企業の影響力を制限した。当時、米国に次いで世界第2位のコンピュータ市場であった日本は、 NECや富士通などの国内ハードウェアおよびソフトウェアメーカーによって支配されていた。[ 10 ] [ 11 ] Microsoft Windows 3.1は日本語サポートを改善し、1990年代を通じて国内PCメーカーの支配力を弱める一因となった。[ 12 ]