String#toLowerCaseを呼び出すときに、どのロケールを指定する必要がありますか?

mchr:

Javaでは、String#toLowerCaseメソッドはデフォルトのシステムLocale使用して、小文字の処理方法を決定します。ASCIIテキストを小文字にしていて、これが期待どおりに処理されることを確認したい場合は、どのロケールを使用する必要がありますか?

編集:私は主に、スキーマ内のテーブル名や列名などの識別子のプログラミングに関心があります。そういうわけで、私は英語の小文字を適用して欲しいのです。

Locale.ROOTロケール依存操作言語/国に依存しないロケールであると述べている

Locale.ENGLISH おそらく安全な選択でもあるでしょう。

マイクサミュエル:

はい。Locale.ENGLISH特別な大文字と小文字の規則や、英語の大文字と小文字のすべての7ビットASCII文字が7ビットASCII文字に変換されるため、プログラミング言語識別子やURLパーツなどのケース操作には安全な選択です。

これは他のすべてのロケールには当てはまりません。トルコ語では、「I」と「i」の文字の大文字と小文字は相互に変換されません。

「ドットとドットのない私」は説明します:

ラテン系アルファベットの変形であるトルコ語のアルファベットには、文字Iの2つの異なるバージョンが含まれています。

Unicodeでは、U + 0131は小文字のドットなしi(ı)です。U + 0130(İ)はドット付きの大文字iです。ISO-8859-9では、それぞれ0xFDおよび0xDDの位置にあります。通常のタイポグラフィでは、小文字のiを他の発音区別符号と組み合わせると、通常、発音区別符号が追加される前にドットが削除されます。ただし、変更されるのは論理的には通常のドット付きi文字であるため、Unicodeは同等の結合シーケンスをドット付きiを含むものとしてリストします。

ほとんどのUnicodeソフトウェアは、ıをIに、İをiに小文字に変換しますが、トルコ語用に特別に設定されていない限り、Iをiに小文字に変換し、iをIに大文字に変換します。したがって、大文字と小文字、またはその逆で文字が変更されます。

特別な例外のリストは、http://unicode.org/Public/UNIDATA/SpecialCasing.txtにあります。

# ================================================================================

# Turkish and Azeri

# I and i-dotless; I-dot and i are case pairs in Turkish and Azeri
# The following rules handle those cases.

0130; 0069; 0130; 0130; tr; # LATIN CAPITAL LETTER I WITH DOT ABOVE
0130; 0069; 0130; 0130; az; # LATIN CAPITAL LETTER I WITH DOT ABOVE

# When lowercasing, remove dot_above in the sequence I + dot_above, which will turn into i.
# This matches the behavior of the canonically equivalent I-dot_above

0307; ; 0307; 0307; tr After_I; # COMBINING DOT ABOVE
0307; ; 0307; 0307; az After_I; # COMBINING DOT ABOVE

...

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

他のViewControllerからViewControllerを提示するときに、DispatchQueueを呼び出す必要がありますか?

分類Dev

他のViewControllerからViewControllerを提示するときに、DispatchQueueを呼び出す必要がありますか?

分類Dev

エスケープ完了ブロックの後にreturnを呼び出す必要がありますか?

分類Dev

Laravelのalbumsとalbum_imagesをリンクする中間テーブルをどのように呼び出す必要がありますか?

分類Dev

ループの後に `yield break`を呼び出す必要がありますか?

分類Dev

PowerShell「WinSCP.comを呼び出すときに「/」演算子の後に値式を指定する必要があります」エラー

分類Dev

finish()を呼び出す前に、onCreate()でどのコードを実行する必要がありますか?

分類Dev

コンストラクターを呼び出すときは、どの程度明示的にする必要がありますか?

分類Dev

TypeError:djangoのviews.pyファイルにスケジューラーをインポートするときに最初の引数を呼び出すことができる必要がありますか?

分類Dev

wait()呼び出しとnotify()呼び出しを同期ブロックで囲む(必要がある)場合、notify()をどのように実行できますか?

分類Dev

複数の関数がループで呼び出されたことをどのようにテストする必要がありますか?

分類Dev

データをSESSIONに保存する必要がありますか、それとも複数のAjax呼び出しを使用する必要がありますか?

分類Dev

RailsアプリからAPIを呼び出すときにトークンをどこに保存する必要がありますか?

分類Dev

コンパイル時に、指定されたパラメータータイプのセットでジェネリックラムダを正常に呼び出すことができるかどうかを検出する方法はありますか?

分類Dev

BigQueryスケジュールクエリを設定するときに「スケジュールクエリの作成エラー:呼び出し元に権限がありません」を回避するにはどうすればよいですか?

分類Dev

BLoCを初期化するときに、非同期呼び出しをどのように処理する必要がありますか?

分類Dev

アセンブリでプロシージャを呼び出すときに角かっこを使用する必要がありますか?

分類Dev

REST API呼び出しのどこにAPIキーを配置する必要がありますか?

分類Dev

指定された初期化子は、プロトコルを使用する場合、「super」で指定された初期化子のみを呼び出す必要がありますか?

分類Dev

DIでdbcontextを追加するときにcontext.disposeを呼び出す必要がありますか?

分類Dev

Javaでスレッドを停止するときにjoin()を呼び出す必要がありますか?

分類Dev

Asterisk では、呼び出し中に構成ファイルをリロードすることを心配する必要がありますか?

分類Dev

Django。'' DELETE、PUT、ETCを許可しようとするときに、 `.as_view()`を呼び出すときは、 `actions`引数を指定する必要があります。

分類Dev

ASP.NET MVCアプリケーションのどこに外部サービス呼び出しを配置する必要がありますか?

分類Dev

Flaskvirtualenv-Ubuntuに `pip`経由でインストールするときに` sudo`を呼び出す必要がありますか?

分類Dev

Swift-dispatchGroupを離れるときにcontinueを呼び出す必要がありますか

分類Dev

オーケストレーションの再生時にSetCustomStatus()を呼び出す必要がありますか?

分類Dev

cabal replを介して呼び出されたときに、追加のパッケージをghciにロードする簡単な方法はありますか?

分類Dev

create()を呼び出すときの `TypeError`。フィールドを読み取り専用にするか、create()メソッドをオーバーライドする必要がある場合があります

Related 関連記事

  1. 1

    他のViewControllerからViewControllerを提示するときに、DispatchQueueを呼び出す必要がありますか?

  2. 2

    他のViewControllerからViewControllerを提示するときに、DispatchQueueを呼び出す必要がありますか?

  3. 3

    エスケープ完了ブロックの後にreturnを呼び出す必要がありますか?

  4. 4

    Laravelのalbumsとalbum_imagesをリンクする中間テーブルをどのように呼び出す必要がありますか?

  5. 5

    ループの後に `yield break`を呼び出す必要がありますか?

  6. 6

    PowerShell「WinSCP.comを呼び出すときに「/」演算子の後に値式を指定する必要があります」エラー

  7. 7

    finish()を呼び出す前に、onCreate()でどのコードを実行する必要がありますか?

  8. 8

    コンストラクターを呼び出すときは、どの程度明示的にする必要がありますか?

  9. 9

    TypeError:djangoのviews.pyファイルにスケジューラーをインポートするときに最初の引数を呼び出すことができる必要がありますか?

  10. 10

    wait()呼び出しとnotify()呼び出しを同期ブロックで囲む(必要がある)場合、notify()をどのように実行できますか?

  11. 11

    複数の関数がループで呼び出されたことをどのようにテストする必要がありますか?

  12. 12

    データをSESSIONに保存する必要がありますか、それとも複数のAjax呼び出しを使用する必要がありますか?

  13. 13

    RailsアプリからAPIを呼び出すときにトークンをどこに保存する必要がありますか?

  14. 14

    コンパイル時に、指定されたパラメータータイプのセットでジェネリックラムダを正常に呼び出すことができるかどうかを検出する方法はありますか?

  15. 15

    BigQueryスケジュールクエリを設定するときに「スケジュールクエリの作成エラー:呼び出し元に権限がありません」を回避するにはどうすればよいですか?

  16. 16

    BLoCを初期化するときに、非同期呼び出しをどのように処理する必要がありますか?

  17. 17

    アセンブリでプロシージャを呼び出すときに角かっこを使用する必要がありますか?

  18. 18

    REST API呼び出しのどこにAPIキーを配置する必要がありますか?

  19. 19

    指定された初期化子は、プロトコルを使用する場合、「super」で指定された初期化子のみを呼び出す必要がありますか?

  20. 20

    DIでdbcontextを追加するときにcontext.disposeを呼び出す必要がありますか?

  21. 21

    Javaでスレッドを停止するときにjoin()を呼び出す必要がありますか?

  22. 22

    Asterisk では、呼び出し中に構成ファイルをリロードすることを心配する必要がありますか?

  23. 23

    Django。'' DELETE、PUT、ETCを許可しようとするときに、 `.as_view()`を呼び出すときは、 `actions`引数を指定する必要があります。

  24. 24

    ASP.NET MVCアプリケーションのどこに外部サービス呼び出しを配置する必要がありますか?

  25. 25

    Flaskvirtualenv-Ubuntuに `pip`経由でインストールするときに` sudo`を呼び出す必要がありますか?

  26. 26

    Swift-dispatchGroupを離れるときにcontinueを呼び出す必要がありますか

  27. 27

    オーケストレーションの再生時にSetCustomStatus()を呼び出す必要がありますか?

  28. 28

    cabal replを介して呼び出されたときに、追加のパッケージをghciにロードする簡単な方法はありますか?

  29. 29

    create()を呼び出すときの `TypeError`。フィールドを読み取り専用にするか、create()メソッドをオーバーライドする必要がある場合があります

ホットタグ

アーカイブ