[Squeak-ja: 2656] Re: 日本語のUTF-8
Koji Yokokawa
koubo2005 @ yengawa.jpn.org
2005年 9月 25日 (日) 12:11:52 JST
横川です。
Unicodeを良く知らないでやってますが、こんな風にするとShift-JISとかで読ん
だ文字と一致するWideStringを作れました。
asCorrectLeadingChar: aWideString
"Return a new string which has correct leadingChar."
^ aWideString
collect: [:char |
| fixedChar code |
fixedChar := char.
code := char asUnicode.
(Unicode isJapanese: code)
ifTrue: [fixedChar := Character leadingChar: JapaneseEnvironment leadingChar code: code].
fixedChar]
On Fri, 23 Sep 2005 09:33:54 +0900
Koji Yokokawa <koubo2005 @ yengawa.jpn.org> wrote:
> 横川です。
> UTF-8で書いた日本語をSqueakで読む方法を個人メールで聞いたのですが、情報
> 共有のため流します。
>
>
> > 山宮です。
> >
> > UTF-8 自体には「日本語である」という情報が無いので日本語に出来ません。
> > なので例えば
> > ((FileStream readOnlyFileNamed: 'UTF8.txt') converter: UTF8TextConverter new) contents collect: [:c | (Character leadingChar: JapaneseEnvironment leadingChar code: c charCode)]
> > のように一つ一つの文字に「日本語である」と明示的におしえてあげ
> > なくてはなりません。(もっと探せばスマートな方法があると思います。)
> >
> > Koji Yokokawa wrote:
> > > 横川です。
> > > SqueakのMultilingualとLocaleについて教えてください。
> > > (詳しいお二人に出してます。)
> > >
> > > Squeak3.8でLocaleをenなどにしているとUTF-8で書いた日本語の内部表現
> > > <WideString>がShift-JISなどと異なるのですが、どうしてですか?
> > > あらかじめLocaleをjaにしておくと一致するのですが、UTF-8で読んだ日本語文
> > > 字をLocaleに左右されずに常にShift-JISやEUC-JPと一致させるにはどうすれば
> > > よいのか悩んでます。
> > >
> > > 具体的には同じ文字をUTF-8とShift-JISで書いたファイルを用意して以下を実行
> > > するとイメージのLocaleによらず常に同じになることを期待してたのです。
> > >
> > > ((FileStream readOnlyFileNamed: 'UTF8.txt') converter: UTF8TextConverter
> > > new) contents
> > > =
> > > ((FileStream readOnlyFileNamed: 'SJIS.txt') converter: ShiftJISTextConverter
> > > new) contents
>
>
> -- !
> Koji Yokokawa <koubo2005 @ yengawa.jpn.org>
> self new!
-- !
Koji Yokokawa <koubo2005 @ yengawa.jpn.org>
self new!
Squeak-ja メーリングリストの案内