java 8 String.chars()はIntStreamを返すので、charのストリームを必要とする場合は、i - >(char)iをキャストして見つけた方が良い答えです。これが正しく機能するかどうかは誰かが知っていますか?実際に8バイトを占めるUTF-16文字ですか?java 8 String.chars()は8バイトの文字で正常に動作しますか?
3
A
答えて
1
あなたの定義に応じて:いいえ、そうではありません。
Java char
は、16ビットのUTF-16コードユニットです。それより長いものは、2つのchar
(as "surrogate pairs")と表されます。
String#length()
と同じです。 char
の番号が返されますので、「長い文字」は2とカウントされます。
IntStream
が返される理由は、just to not need to introduce a CharStream
classです。含まれているデータは、依然としてchar
の16ビット範囲に収まるだけです。
しかし、(IntStream
としても)32ビットUnicodeコードポイントを返していchars()
に加えて、.codePoints()
あります。
関連する問題
- 1. Javaバイト[]から文字列とUTF-8
- 2. .NETで3バイトのUTF-8文字列置換(3バイトUTF-8を文字列または文字に変換)
- 3. utf-8には何バイトの文字列がありますか?
- 4. Javaで8バイトの数字を生成
- 5. Java UTF-8の異常な動作
- 6. Xcode 8 Swift 3アプリはiOS 7で正常に動作しますか?
- 7. 文字列へのUTF-8バイト
- 8. Rubyで4バイトのutf-8文字を削除するには?
- 9. SQL - BIGINTのデータ型は常に8バイトですか?
- 10. 不正なUTF-8文字
- 11. -XX:+ CMSClassUnloadingEnabledは、Java 8の-XX:+ UseSerialGCオプションで動作しますか?
- 12. 空でないUTF-8バイト配列から空のJava文字列を作成できますか?
- 13. mysqlはutf8のすべての文字を正しく表示できますか? MySQLでUTF-8のバイトの
- 14. Solr 4.3.1はJava 8で動作しますか
- 15. mbstringはutf-8文字列を正規化しますか?
- 16. Spring 4.1.9 Javaで動作しない8
- 17. numpyのバイト8文字からなる文字列を文字列に変換します
- 18. !UTF-8文字を含むファイル名に対してFile.Existsが正常に動作しない
- 19. UTF-8のスカンジウム文字はJSF-MYSQL-PrimeFaces-softwareで動作しませんか?
- 20. utf-8文字の角度テンプレートビューが動作しません
- 21. Java 8固定スレッドプールは常に固定数のスレッドを作成しますか?
- 22. UTF-16LE文字のバイト配列をRubyのutf-8文字列に正しく変換する方法
- 23. Springの@WebMvcTestはJava 8タイプでは動作しません
- 24. 文字列にバイト値(8ビット)を追加してJavaのバイト単位で読み込む方法
- 25. C#System.IO.Directory.CreateDirectory - utf-8文字でディレクトリを作成しますか?
- 26. JavaのInetAddress.getLocalHost()。getHostName()での動作が不正8
- 27. Rubyの文字列からUTF-8バイトを取得
- 28. アスキー文字は8バイト、変換されたワードは32バイトにどのように格納されますか
- 29. Java文字列UTF-8の制限
- 30. Javaで8文字の文字列をARGBカラーフォーマットに変換するには?
8バイト?すべてのUnicode文字が最大で2つのUTF-16コード単位(つまり4バイト)に収まるとは限りませんか? – Thilo