0

一般的に使用されるofc、クリンゴンはカウントされません:-)

ありがとう、みんな、 willItFit() テストケースを実行させてください

OK、今、UTF-8 でバイトを保存すると、解決するよりも多くの問題を引き起こしていることがわかりました。ありがとうございます。

4

4 に答える 4

9

3 バイトを必要とする文字は U+0800 以降のすべての文字で始まるため、潜在的な文字数は膨大になります。これには、日本語、中国語、韓国語、タイ語などの東アジアのスクリプトが含まれます。

スクリプト範囲の完全なリストについては、Unicode のブロック データを参照してください。これらのブロックのみが 1 または 2 バイトで表すことができ、他のすべてのブロックの文字には 3 または 4 バイトが必要です。

0000..007F Basic Latin
0080..00FF Latin-1 Supplement
0100..017F Latin Extended-A
0180..024F Latin Extended-B
0250..02AF IPA Extensions
02B0..02FF Spacing Modifier Letters
0300..036F Combining Diacritical Marks
0370..03FF Greek and Coptic
0400..04FF Cyrillic
0500..052F Cyrillic Supplement
0530..058F Armenian
0590..05FF Hebrew
0600..06FF Arabic
0700..074F Syriac
0750..077F Arabic Supplement
0780..07BF Thaana
07C0..07FF NKo
于 2010-09-07T21:00:40.303 に答える
5

どうぞ:

したがって、最初の 128 文字 (US-ASCII) には 1 バイトが必要です。次の 1,920 文字のエンコードには 2 バイトが必要です。これには、ギリシャ語、キリル語、コプト語、アルメニア語、ヘブライ語、アラビア語、シリア語、ターナ語のアルファベットの分音記号と文字を含むラテン文字が含まれます。Basic Multilingual Plane の残りの部分には 3 バイトが必要です(これには、一般的に使用される事実上すべての文字が含まれます)。Unicode の他のプレーンの文字には 4 バイトが必要です。これには、あまり一般的でない CJK 文字やさまざまな歴史的なスクリプトが含まれます。

詳細:

http://en.wikipedia.org/wiki/Mapping_of_Unicode_character_planes、基本的な多言語面、0x8000 からのコード。

いくつかの例: インド文字、タイ文字、フィリピン文字、ひらがな、カタカナ。つまり、すべての東アジアのスクリプトとその他のスクリプトです。

于 2010-09-07T21:03:20.297 に答える
2

英語だけでも 3 バイト必要です。たとえば、タイポグラフィ上正しいアポストロフィは、UTF-8 では0xE2 0x80 0x99、開始引用符は0xE2 0x80 0x9C、終了引用符は としてエンコードされます0xE2 0x80 0x9D。省略記号は0xE2 0x80 0xA6. そして、それはすべての異なるダッシュ、スペース、またはインチとフィートの記号について話しているわけではありません.

「アポストロフィーの助けなしに英語を書くのはちょっと難しい…」</p>

于 2010-09-08T02:54:46.527 に答える
0

2 バイト以上を使用する多くのアジア言語の表現があります。特に必要がないのは事実ですが、日本語と韓国語は (少なくとも) マルチバイト形式で表現されることがよくあります。

于 2010-09-07T21:01:31.347 に答える