TL; DR:いいえ。

TL; DR:いいえ。

出力はlocale大文字と小文字を区別するようです。

% locale -a 
C
en_AU.utf8
en_US.utf8
POSIX

より一般的にはハイフンと大文字を見ましたUTF-8

utf8/UTF-8の標準名は何ですか?

ベストアンサー1

TL; DR:いいえ。

  • utf8IANA文字セットは-文字を削除するため、引用しません。
  • IANA文字セット名はすべて大文字と小文字です。存在する敏感。
  • したがって、以下を参照してください。RFC3629:UTF-8、ISO 10646の変換形式:
    • UTF-8
    • utf-8
    • uTf-8(すべてのハイフンに注意してください)
  • 大文字と小文字を区別します。ニックネーム上記の名前:csUTF8

詳細

POSIX.1-2017、一部8.2 国際化変数

ロケール値が次の形式の場合:

language[_territory][.codeset]

これは、言語、地域、およびコードセットの設定が実装に従って定義される実装提供ロケールを表します。

しかし、POSIX.1は定義の詳細な実装を維持していますが、IANAはこれについて話すものがあります。

RFC2978 IANA文字セット登録手順

2.3。命名要件文字セットのデフォルト名を定義します。

 mime-charset = 1*mime-charset-chars
 mime-charset-chars = ALPHA / DIGIT /
            "!" / "#" / "$" / "%" / "&" /
            "'" / "+" / "-" / "^" / "_" /
            "`" / "{" / "}" / "~"
 ALPHA        = "A".."Z"    ; Case insensitive ASCII Letter
 DIGIT        = "0".."9"    ; Numeric digit

参考にしてくださいCase insensitive ASCII Letter

興味深いことに、これは^-^文字セットのための愉快だが有効な名前であることを意味します。

IANA文字セット

インターネットで利用可能でインターネット文書で参照できる文字セットの公式名。

文字セット名は、US-ASCIIの印刷可能文字から取得した最大40文字まで可能です。しかし、大文字と小文字の使用に鈍感。 [強調私のもの]

IANAは文字セットをUTF-8

utf-8(またはuTf-8)はIANA文字セット名の公式名であり、utf8(ハイフンなし)はIANA文字セット名ではありません。

大文字と小文字の区別がもう1つあるので注意してください!ニックネーム~のため名前UTF-8、すなわち:csUTF8

「cs」は文字セットを表し、初期の小文字は必要ですが、大文字と小文字を混在して使用し、アンダースコア(「_」)やダッシュ(「-」)などの特殊文字を含めたくないアプリケーション用です。

IANAでなければutf8どこから出るのでしょうか?

glibc_nl_normalize_codeset()以下を行います。

  • 文字または数字(ハイフンを除く)のみを渡してください。

  • 文字を小文字に変換

    for (cnt = 0; cnt < name_len; ++cnt)
      if (__isalpha_l ((unsigned char) codeset[cnt], locale))
        *wp++ = __tolower_l ((unsigned char) codeset[cnt], locale);
      else if (__isdigit_l ((unsigned char) codeset[cnt], locale))
        *wp++ = codeset[cnt];
    

コードコメント間違った言葉:

コードセット名の標準はありません。

このコメントは認識されないようです。RFC2978 IANA文字セット登録手順、2.3。命名要件

おすすめ記事