C 文字列操作 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(文字列文字コード変換)
(文字列文字コード変換)
2,615行: 2,615行:
 
http://site.icu-project.org/<br />
 
http://site.icu-project.org/<br />
 
まずここから最新のソースファイルをダウンロードします。<br />
 
まずここから最新のソースファイルをダウンロードします。<br />
VisualStudio2012を使っている分には、現在のICU4CのソースはCygwinも必要とせずにビルドができます。但し、Win32プロジェクトの設定ではuconv.exeがうまく作られないみたいで、[保存ディレクトリ]\icu\binの中にBinaryで配布されているuconv.exeを配置しないとビルドできなかったりというのがありました。なんでだろ。X64は問題ありませんでした。ビルド後VisualStudioの設定も以下のとおり実施する必要があります。
+
執筆時点'14/09ではICU Versionは5.4で、VisualStudio2012を使っている分には、現在のICU4CのソースはCygwinも必要とせずにビルドができます。VisualStudio2010で作られているので、初回のソューションファイルオープンでプロジェクトの変換が必要になります。ビルド後VisualStudioの設定も以下のとおり実施する必要があります。ICUが利用している開発環境よりも新しいものなら楽にビルドできそうです。
  
  
ソースを見ることができるのですが、とにかく巨大なプロジェクトで、ソースを見るのも勉強になるかもしれません。巨大プロジェクトならではのアイデア満載かなぁと思います。
+
ソースを見ることができるのですが、とにかく巨大なプロジェクトで、ソースを見るのも勉強になるかもしれません。巨大プロジェクトならではのアイデア満載かなぁと思います。ワーニングもいっぱいだけど、まぁ気にしない。バグもあるみたいで、同時に配布されるテストプログラムをビルド後に動作させてみるのですが、うまく動かない関数もありました。今回の目的にはあまり関係してこない部分のバグだと思うので、このまま使ってみます。
  
 +
 +
以下、テスト時のエラーログです。ひょっとしたら自分だけなのかもしれませんが、既知のバグみたいな表現のエラーなので気にしないことにします。え?それでいいのか?調べるのも面倒だし、放置。
 +
 +
 +
 +
KNOWN ISSUES
 +
#10774 <http://bugs.icu-project.org/trac/ticket/10774>
 +
  /CollationAPITest/TestGetAll/TestGetAll
 +
    "Side effects from utility/LocaleTest/TestGetLocale"
 +
#11020 <http://bugs.icu-project.org/trac/ticket/11020>
 +
  /NumberFormatSpecificationTest/TestScientificNotation/TestScientificNotation
 +
#11025 <http://bugs.icu-project.org/trac/ticket/11025>
 +
  /NumberFormatSpecificationTest/TestPadding/TestPadding
 +
#11052 <http://bugs.icu-project.org/trac/ticket/11052>
 +
  /TimeZoneFormatTest/TestTimeRoundTrip/TestTimeRoundTrip
 +
    "Ambiguous zone name - Samoa Time"
 +
#7270 <http://bugs.icu-project.org/trac/ticket/7270>
 +
  /RBBITest/TestUnicodeFiles/TestUnicodeFiles
 +
#9503 <http://bugs.icu-project.org/trac/ticket/9503>
 +
  /TestEnglishSpellout/TestEnglishSpellout
 +
#cldrbug:1911 <http://unicode.org/cldr/trac/ticket/1911>
 +
  /TransliteratorRoundTripTest/TestDevanagariLatin/TestDevanagariLatin
 +
  /TransliteratorRoundTripTest/TestGreek/TestGreek
 +
  /TransliteratorRoundTripTest/TestGreekUNGEGN/TestGreekUNGEGN
 +
  /TransliteratorRoundTripTest/TestHebrew/TestHebrew
 +
  /TransliteratorRoundTripTest/TestInterIndic/TestInterIndic
 +
  /TransliteratorRoundTripTest/Testel/Testel
 +
#cldrbug:6745 <http://unicode.org/cldr/trac/ticket/6745>
 +
  /UCAConformanceTest/TestRulesNonIgnorable/TestRulesNonIgnorable
 +
    "UCARules.txt has problems"
 +
To run suppressed tests, use the -K option.
 +
Errors in total: 15.
 +
        TestToUnicode
 +
      convert
 +
        DetectionTest
 +
      csdet
 +
 +
 +
KNOWN ISSUES
 +
#11217 <http://bugs.icu-project.org/trac/ticket/11217>
 +
  /tsutil/cldrtest/TestExemplarSet
 +
    "Fix result of uscript_getCode for yi: USCRIPT_YI -> USCRIPT_HEBREW"
 +
  /tsutil/cldrtest/VerifyTranslation
 +
    "Fix result of uscript_getCode for yi: USCRIPT_YI -> USCRIPT_HEBREW"
 +
(To run suppressed tests, use the -K option.)
 +
 +
 +
SUMMARY:
 +
******* [Total error count:    590]
 +
Errors in
 +
[/tsconv/nucnvtst/TestISO_2022_JP]
 +
[/tsconv/nucnvtst/TestJIS]
 +
[/tsconv/nucnvtst/TestISO_2022_JP_1]
 +
[/tsconv/nucnvtst/TestISO_2022_JP_2]
 +
[/tsconv/nucnvtst/TestHZ]
 +
[/tsconv/nucnvtst/TestJitterbug2346]
 +
[/tsconv/nccbtst/TestSkipCallBack]
 +
[/tsconv/nccbtst/TestSubWithValueCallBack]
 +
[/tsconv/ncnvtst/TestResetBehaviour]
  
 
あらゆる文字コードの変換だけでなく、大文字小文字相互変換、全角半角相互変換、ひらがなカタカナ相互変換、他にもひらがなやカタカナからのローマ字相互変換といった複雑な変換も提供しています。そのほかにも通貨フォーマットや時間表記変換といった面白い変換も組み込まれています。ここでは文字コード変換のみを取り上げます。文字コードをファイルに出力するのはもっとあとで説明する予定なので、ここでは、サンプルとなる文字列をその文字コード体系に合わせて16進数で表現した配列として扱い、それを基に変換後の文字コード配列が生成されるのを確かめます。変換後の文字コードがUNICODEやShiftJIS以外になる場合も同じく16進数で表現される配列で示します、逆に異なる文字コードから基に戻す変換も確認します。
 
あらゆる文字コードの変換だけでなく、大文字小文字相互変換、全角半角相互変換、ひらがなカタカナ相互変換、他にもひらがなやカタカナからのローマ字相互変換といった複雑な変換も提供しています。そのほかにも通貨フォーマットや時間表記変換といった面白い変換も組み込まれています。ここでは文字コード変換のみを取り上げます。文字コードをファイルに出力するのはもっとあとで説明する予定なので、ここでは、サンプルとなる文字列をその文字コード体系に合わせて16進数で表現した配列として扱い、それを基に変換後の文字コード配列が生成されるのを確かめます。変換後の文字コードがUNICODEやShiftJIS以外になる場合も同じく16進数で表現される配列で示します、逆に異なる文字コードから基に戻す変換も確認します。

2014年9月28日 (日) 00:00時点における版



個人用ツール
名前空間

変種
操作
案内
ツールボックス