[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 メーリングリストの案内