回答受付が終了しました

ID非公開

2021/2/24 16:29

44回答

プログラミング

回答(4件)

0

いいえ、生じませんが?

テキストファイルもただのデータファイルですから、その内容に適した扱いをすればいいのであって、文字化けするのはそのアプリが扱い方を間違っているからです。 OSの文字コードが何だとか全く関係ありません。 ごちゃごちゃと文字コードの解説してる奴は全くもって意味ありません。 笑

0

文字コードというのは、どのような文字を規格内に収録するかという文字集合(レパートリー)と、その文字をコンピューターが扱えるように符号化(エンコード)するかという2つの規格から成り立ちます。 Unicodeというのは、文字集合とエンコード方式を定めた文字コードの規格で、UTF-8というのはそのUnicode規格の中のエンコード方式の一つです。 Unicodeには複数のエンコード方式があり、そのうち以前はUTF-16が主に使用されていましたが、現在ではUTF-8が主流です。 したがって以前はUnicodeというとUTF-16でエンコードされた物を指すことが多かったのですが、最近ではUnicodeというとUTF-8でエンコードされた物を指すことが多くなっています。 >例えばOSの文字コードがUnicodeで、テキストファイルがUTF-8だった場合、テキストファイルに文字化けが生じると思います。 Windowsは内部的にUTF-16を使用していますが、メモ帳は既定値ではUTF-8で入出力を行います。では文字化けするかというと、入出力時に正しく変換されれば文字化けは生じません。 文字化けが生じるのは、例えばShift_JISで保存された文章をUTF-8だとして入力するようなエンコードの誤判定が起こったときです。正しくエンコードの判定がなされたときは文字化けは起こりません。 ただし文字集合の大きさはUnicode > Shift_JISなので、UnicodeからShift_JISにデータ変換する場合、Shift_JISに存在しない文字は?などに文字化けします。

ISO-2022-JPを「JIS」と呼ぶのは「慣用」で、正確な用語ではありません。 もちろん「普遍的」なものではありません。 JIS X0201,JIS X0208,JIS X0212,JIS X0213などの規格は規格書に定められてきちんと決まっています。 ----------------- UTF-8もUTF-16もUnicodeに定められたエンコード方式の一種で、どちらもUnicodeという文字コード規格の中で定義されています。

0

コンピュータは、文字なんて知らないからです。 コンピュータは文字なんて知らないし扱えません。 コンピュータが扱っているのは、全て数値だけです。 人間がその数値に勝手に文字を割り当てているのです。 この割り当てを文字コードと呼びます。 ある文字コードでは、30という数値に、Aと割り当てたとします。 ユーザーがAと書くと30と記録されます。 30というデータがあったらAと表示します。 別の文字コードでは、30という数値に、♡を割り当てたとします。 上のコードで保存したA(30)をこちらのコードで表示すると♡が表示されます。 これで無事文字化けがおきました。 実際には一文字を表す桁数も違うので、もっとぐちゃぐちゃになります。

0

UTF-8は文字コードだけど Unicode は文字コードじゃないです… https://ja.wikipedia.org/wiki/Unicode UTF-8もunicodeで定められた文字コードのひとつだし

ID非公開

質問者

2021/2/24 17:17

Unicodeは文字コードじゃないですと文字コードのひとつですが気になりした。すみません、どちらなのでしょうか…??