2012-04-20 10 views
2

文字列のバイナリ(英数字ではない)を比較する方法はありますか?文字列の比較バイナリ(&英数字ではない)

トレントスペック:

キーは(生 文字列ではなく、英数字としてソート)文字列でソートされた順序で表示されなければなりません。文字列は、文化固有の "自然な"比較ではなく、バイナリ比較の を使用して比較する必要があります。

私はキーで辞書をソートする必要があります...しかし、私はこの仕様を取得しません。 説明...誰ですか?

更新:acordinglyへ:バイナリソート

1文字データをソートする方法を使用してhttp://docs.oracle.com/cd/B19306_01/server.102/b14225/ch5lingsort.htm

は、文字コード体系によって定義された 文字の数値に基づいています。これは バイナリソートと呼ばれます。バイナリソートは最も速いソートタイプです。 ASCIIおよび EBCDIC標準では、文字AからZを昇順の数値で定義しているため、英字の場合は という妥当な結果が得られます。

注:ASCII標準では、すべての大文字が の小文字の前に表示されます。 EBCDIC標準では、逆のことが成り立ちます。すべて の小文字が大文字の前に表示されます。

他の言語で使用されている文字が存在する場合、バイナリソート は通常、妥当な結果を生成しません。たとえば、昇順の ORDER BYクエリは、 Äが文字コード体系でBより大きい数値を持つ場合、文字列ABC、ABZ、BCD、ÄBCを返します。 バイナリソートは、表意文字を使用するアジア言語の 言語では通常、言語的に意味がありません。

だから、基本的にそれalfabetically .. ニースのソートとしての英語のために同じ結果..

+0

どのような言語ですか? – yazu

+0

C#..(もしあなたがそれを気に入っているならば) – pulancheck1988

答えて

0

任意の標準ソート・ルーチンは、限り、あなたは文字がバイトとして扱われていることを確認として、動作するはずです。