• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:各種スクリプト言語の記述時の文字コードについて)

各種スクリプト言語の文字コードについて

このQ&Aのポイント
  • メジャーなスクリプト言語における文字コードについて質問です。
  • シェルスクリプトやPHPは暗黙のうちにUTF-8で文字列が表記されますが、pythonやRubyは明示的にUTF-8と指定しなければならない理由について教えてください。
  • ハッシュタグ: スクリプト言語, 文字コード, UTF-8, マジックコメント, 質問

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

文字コードについては、2つの考え方があります。 一つは、「文字列は一旦内部で共通のコードに変換して、外部に出力するときは、その出力先の文字コードに変換する」 もう一つは、「文字コード等考えずに、書かれたままのバイナリーデータを出力する」 シェルは基本的に後者です。 「文」「字」「列」という3文字だとは認識していません。 UTF-8なら「文の1バイト目」「文の2バイト目」「文の3バイト目」「字の1バイト目」... という 9文字だと認識しています。 この9バイトの列を「UTF-8だと解釈して表示する端末」を使うと「文字列」と読めます。 利点は「解釈しないのそのまま使える」こと 欠点は「日本語等の1文字を『1文字』として扱えない」こと、あるいは、「日本語等の1文字を扱うために、特別な方法が必要」ということです。 Pythonは前者です。 利点は「日本語等の1文字を『1文字』としてあつかえる」 欠点は「内部コードへの変換のために、元がどのコードなのか判断する必要がある」ということです。 自動判定、というのもないわけではないですが、誤判定してしまうという問題があります。 確実なのは、「書いた人に聞く」ことです。

関連するQ&A