問題タブ [icu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cocoa-touch - cocoa icu ドキュメント
UIWebView で構文を強調表示したい。Cocoa icu について聞いたことがありますが、グーグルで見つけたドキュメントはありません。
誰か情報教えてくれませんか??
ありがとうございました
thread-safety - ICU の ucnv_convertEx はスレッドセーフですか?
ICU ライブラリの ucnv_convertEx がスレッドセーフかどうか疑問に思っています。ソースを見ると、スレッドセーフのようですが、100% 確実ではありません。また、ICU のドキュメントでこれに関する明示的な状態を見つけることができません。
ありがとう
c++ - ICU通貨ロケールは宗派を取得します
ICU通貨ロケールの最小額を調べる方法はありますか?たとえば、米国は0.01ドル、韓国(ko_KR)は₩1になります。オブジェクトgetRoundingIncrement()
を呼び出すとそれが得られると思いましたが、en_USとko_KRの両方で0が返されます。DecimalFormat
regex - ICU/RegexKitLiteのバグを回避するための正規表現の修正
私はRegexKitLiteを使用しています。RegexKitLiteはエンジンとしてICUを使用しています。ドキュメントにもかかわらず、「xxxxxxxxxxx」に対して検索するときの/ x*/のような正規表現は空の文字列と一致します。/ x *?/のように動作します。このバグが存在する場合は回避したいと思います。正規表現の一致で長さが0の結果が返される場合は、エスケープされていない*を+として書き直すことを検討しています。私の素朴な推測では、*sの代わりに+sを使用した正規表現は、常に正しい結果のサブセットを返します。これの予期しない結果は何ですか?私は正しい方向に進んでいますか?
FWIW、ICUは* +演算子も提供しますが、どちらも機能しません。
編集:もっと明確にすべきでした:これはインタラクティブアプリの検索フィールド用です。ユーザーが入力する正規表現を制御することはできません。壊れた*サポートはICUのバグのようです。そのPOSをコードに含める必要がなかったらいいのにと思いますが、町で唯一のゲームです。
java - JNI-UCharタイプをにマッピング
Javaから呼び出すことができるようにJava文字配列に変換したいUChar配列(ICU4Cライブラリから)を返すJNI関数があります。このJNI関数にアクセスすると、すべてがクラッシュしてハングするため、問題がどこにあるのかわかりませんが、logcatを含め、どこにもエラーメッセージは表示されません...デバッグが非常に困難です。
UChar配列をjcharArrayタイプに直接マップできますか?また、返品タイプとして使用できますか?または、JNI関数が入力するパラメーターとしてそれを渡すことはできますか?
これが基本的に私がやろうとしていることの抜粋です:
どんな助けでも大歓迎です!
ありがとう
php - NumberFormatter::ORDINAL が私にゴミを与える
PHP で NumberFormatter クラスを使用しようとしていますが、ORDINAL 形式に問題があります。問題なく、他のいくつかの形式を試しました。しかし、ORDINAL を使用すると、ゴミが発生します。別のロケールを選択すると、別のガベージが表示されるようです。
出力は「6th」になると思いますが、代わりに「6áµ—Ê°」になります。
java - ICU4CバイトをJava文字に変換します
UChar *(つまりUnicode文字配列)を返すJNIを介してICU4C関数にアクセスしています... UChar配列の各メンバーを作成したローカルjbyte[]配列と同等にすることで、これをjbyteArrayに変換できました。次に、env-> SetByteArrayRegion()関数を使用してJavaに戻しました...これで、JavaにByte []配列がありますが、すべてがかなりぎこちないです。かもしれません...それが重要な場合はユニコード文字を使用しています...Javaでbyte[]をchar[]に正しく変換するにはどうすればよいですか?何かが正しくマッピングされていません...コードのスニペットは次のとおりです。
--- JNIコード(短くするために少し変更)---
--Javaコード--stringwohoo= "ABCD bal bla bla"; char [] myChars = wohoo.toCharArray();
私も試しました:System.out.println(new String(myICUBytes、Charset.forName( "UTF-16")))そしてそれは同じようにgebberishyです...。
ICU関数はUCharで適切なUnicode文字を返すことに注意してください*...jbyteArrayへの変換とJavaへの変換の間のどこかで混乱しています...
ヘルプ!
android - 文字セットエンコーディングとICU4Cに関する質問
Android製品デバイス(ベースコードはAndroid 2.3)でCTSを実行していますが、次の場合に失敗しました。
Android SDK 2.3.3エミュレーターで同じテストを実行しましたが、合格しました。
次に、Android 2.3.3と私のコードのソースコードを比較しましたが、違いはありません。しかし、私が気づかなかった何かが違うに違いないと思います。その後、この問題はICU4Cに関連していることがわかりましたが、ICU4Cは非常に複雑です。この問題を追跡するための手がかりを教えてもらえますか?または、問題の追跡をどのように進める必要がありますか?
どうもありがとう。
java - 文字セット変換のCharsetICUJavaの例
ファイルをEBCDIC(IBM 937)からUTF-8に変換する必要があります。文字セット変換にCharsetICU(icu4j API)を使用する方法はありますか?
php - OS X 10.6.6 への intl のインストール: 無効なライブラリ (おそらく PHP ライブラリではない) intl.so
OS X 10.6.6 の新規インストールに、同梱されている PHP バージョン (v5.3.3) を使用して、PHP 拡張機能 intl をインストールしようとしています。
拡張機能には ICU が必要であることはわかっているので、homebrew でインストールしました。インストールされている ICU のバージョンは 4.4.1 で、に保存されてい/usr/local/Cellar/icu4c/4.4.1
ます。
intl 拡張機能をインストールするために、次の 2 つの方法を試しました。
pecl インストール
pecl は ICU プレフィックスを尋ねてきました。これは/usr/local/Cellar/icu4c/4.4.1
. configure
問題なく実行されましたが、次のようにmake
中止されました:
/private/var/tmp/apache_mod_php/apache_mod_php-53~1/Build/tmp/pear/temp/intl/collator/collator_class.c:107: エラー: 'static' の重複 make: * [collator/collator_class.lo] エラー1 エラー: `make' が失敗しました
直接ビルド
現在のバージョンの PHP (v5.3.5) をダウンロードし、次のコマンドext/intl
を実行して intl 拡張機能をインストールしました。
これはうまくいったようです。PHP 拡張機能ディレクトリで拡張機能を取得しましたが、エラー メッセージは表示されませんでした。
ファイルは私に教えてくれます:Mach-O 64-bit bundle x86_64
ただし、拡張機能を にロードするとphp.ini
、次のメッセージが表示されました。
PHP 警告: PHP の起動: 無効なライブラリ (PHP ライブラリではない可能性があります) '/usr/lib/php/extensions/no-debug-non-zts-20090626/intl.so' in Unknown on line 0
なぜこれが起こっているのか分かりません。拡張機能が PHP v5.3.5 からインストールされ、私は v5.3.3 を使用しているためだと推測していますが、2 つのバグ修正リリースで互換性が失われるとは考えられません。
何か案は?
更新 2011 年 3 月 16 日:
解決策を見つけました!configure でフラグを明示的に設定する-m64
と (gcc に 64 ビット コードを生成するように指示します)、拡張機能が正しく読み込まれます。
CFLAGS=-m64 CPPFLAGS=-m64 CCASFLAGS=-m64 ./configure