[#32910] NKF,Kconv — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#32913] openの"b"とencoding — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#32922] SEGV by regexp match in while loop — Tanaka Akira <akr@...>
Debian GNU/Linux (sarge) の gcc-3.4 を使ってビルドした ruby
[#32935] queue and timeout — Tanaka Akira <akr@...>
timeout で Queue#pop に時間制限をつけた時、タイムアウト時に
まつもと ゆきひろです
[#32940] ripper cannot build on win32 — yukimi_sake <yukimi_sake@...>
雪見酒です。
[#32945] Shift_JIS variants and UTF-16 support — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
中村さん、こんにちは。
まつもと ゆきひろです
成瀬です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
成瀬です。
こんにちは、なかむら(う)です。
成瀬です。
こんにちは、なかむら(う)です。
まつもと ゆきひろです
[#32946] replica と alias の違い(encoding) — KIMURA Koichi <kimura.koichi@...>
木村です。
[#32987] error with open-uri (instance_eval?) — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#32988] Re: [ruby-cvs:22194] Ruby:r14957 (trunk): * encoding.c (rb_enc_init): UTF-{16,32}{BE,LE} are not builtin. — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
[#32992] ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — "NARUSE, Yui" <naruse@...>
成瀬です。
まつもと ゆきひろです
At 18:13 08/01/09, Yukihiro Matsumoto wrote:
成瀬です。
まつもと ゆきひろです
成瀬です。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
[#32996] binmode and ASCII-8BIT — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#33069] Re: [ruby-cvs:22244] Ruby:r15007 (trunk): * enc/make_encdb.rb: added. search enc/*.c and make encoding database. — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
まつもと ゆきひろです
[#33076] Encoding.compatible? and dummy encodings — sheepman <sheepman@...>
こんにちは sheepman です。
成瀬です。
まつもと ゆきひろです
[#33078] NEW REPLICA ENCODINGS AND ENCODING ALIASES — "NARUSE, Yui" <naruse@...>
成瀬です。
[#33101] String#valid_encoding? shoud be strict? — Masayoshi Takahashi <maki@...>
高橋征義です。1.9のエンコーディングとString#valid_encoding?について。
[#33139] Bignum#* might invoke GC parallelly? — "Yusuke ENDOH" <mame@...>
遠藤と申します。
[#33156] default script encoding and -K option — sheepman <sheepman@...>
こんばんは sheepman です。
こんにちは、なかむら(う)です。
まつもと ゆきひろです
[#33164] default encoding for Marshal.load — "Shugo Maeda" <shugo@...>
前田です。
まつもと ゆきひろです
[#33185] コンパイルの問題 (r15218) — Martin Duerst <duerst@...>
r15128 当たりで (実はもう少し前から) コンパイルできなくなりました。
[#33218] Re: Ruby1.9String バイト列へのインデックス アクセス — "Hisanori Kiryu" <hkiryu@...>
> ちなみに、byte のではなく bytes の方が妥当だと思います。
[#33224] printf "%0x" — Tanaka Akira <akr@...>
printf の %0x に負の整数を与えると、値によって .. がついたり
[#33226] [PATCH] warnings of enc/trans/utf_16_32.c — Nobuyoshi Nakada <nobu@...>
なかだです。
[#33239] Re: [ruby-cvs:22386] Ruby:r15149 (trunk): * string.c (rb_str_each_char): move forward. — Tanaka Akira <akr@...>
In article <200801210259.m0L2x3CW017171@ci.ruby-lang.org>,
なかだです。
In article <20080121065650.55F60E0662@mail.bc9.jp>,
なかだです。
まつもと ゆきひろです
[#33247] requests to transcode — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#33303] Time#strftimeのエンコーディング — rubikitch@...
るびきちです。
まつもと ゆきひろです
なかだです。
西山和広です。
[#33368] summary of script encoding — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
まつもと ゆきひろです
永井@知能.九工大です.
[#33387] HashからStructを作る — rubikitch@...
るびきちです。
まつもと ゆきひろです
From: Yukihiro Matsumoto <matz@ruby-lang.org>
まつもと ゆきひろです
From: Yukihiro Matsumoto <matz@ruby-lang.org>
まつもと ゆきひろです
From: Yukihiro Matsumoto <matz@ruby-lang.org>
まつもと ゆきひろです
[#33399] regexp match /.../n against to UTF-8 string — Tanaka Akira <akr@...>
以下のように、つけてもいない正規表現の n オプションに関して
[#33400] /#{}/e.encoding — Tanaka Akira <akr@...>
以下のように /#{}/e の encoding が US-ASCII になります。
[#33403] wrapped String#gsub — "Park Ji-In" <tisphie@...>
こんにちは、朴 芝印です。
[#33417] コンパイルの問題 — Martin Duerst <duerst@...>
現在 (r15264 で) コンパイル使用とすると、エラーになります:
At 16:28 08/01/27, you wrote:
[#33433] Win32OLE: set encoding to OLE string — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
成瀬です。
助田です。
こんにちは、なかむら(う)です。
こんにちは、なかむら(う)です。
[#33452] enc/euc_kr.c (euckr_mbc_enc_len) euc_kr.c is also used by CP942 — "NARUSE, Yui" <naruse@...>
成瀬です。
まつもと ゆきひろです
成瀬です。
[#33461] Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — MORITA Hideyuki <h-morita@...>
=1B$B?9ED$H?=3D$7$^$9!#=1B(B
なかだです。
森田です。
なかだです。
森田です。
天野竜太郎と申します。
森田です。
天野です。
森田です。
天野です。
森田です。
天野です。
森田です。
天野です。
[#33488] 現在の script encoding の値を得る方法は? — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
成瀬です。
永井@知能.九工大です.
成瀬です。
永井@知能.九工大です.
成瀬です。
In article <47A00E86.4010701@airemix.com>,
成瀬です。
In article <47A03C9D.2090008@airemix.com>,
In article <87hcgvu1ng.fsf@fsij.org>,
[#33521] nkf の CP932 — Martin Duerst <duerst@...>
成瀬さん、皆さん、こんにちは。
[#33548] block parameter of String#gsub — "NARUSE, Yui" <naruse@...>
成瀬です。
まつもと ゆきひろです
[ruby-dev:33295] Re: requests to transcode
成瀬です。
U.Nakamura wrote:
> In message "[ruby-dev:33286] Re: requests to transcode"
> on Jan.23,2008 07:41:13, <naruse@airemix.com> wrote:
> | stateful encoding を処理するは、ISO 2022 についてならば直前の escape
> | sequence というか、現在の文字集合番号とバイト列があればよいかと。ここで
> | 1 byte をブロックに渡すか、多バイト必要な場合なことを考えて複数バイト渡
> | すか、いっそのことバイト列すべてと現在の index を渡すかが迷いどころです
> | かねぇ。
>
> あんまりたくさんブロックに引数を渡すようにしても書き間違える
> だけなので、成瀬さんの2つ目の案のように2個程度に留めるか、情
> 報をまとめたクラスのインスタンスを1個渡すか、どちらかが現実的
> でしょうね。
> とりあえず後者にしておけば後で仕様を追加できるので、実装する
> 方は気が楽かもしれません。
それだと converer 一つですかねぇ。
必要な情報は [ruby-dev:33286] のmbsrtowcs 風 API と同じなので、後はそれ
をどう詰め込むかと、state をどう保持しどう返すかでしょうか。
> | > フラグを使う例だと、変換不能な文字を任意の指定文字に置換する
> | > ことはできないような気がしますが、例えばスレッドローカルな特
> | > 殊変数で指定するとかいうことを考えておられますか?
> |
> | エンコーディングごとにデフォルトの置換文字が決まっているので、通常はそれ
> | を用いればいいかと。変えたい場合はブロックで。ハッシュなりで渡すという方
> | 法もあるでしょうね。
>
> 「決まってる」というのは、何で決まってるんでしょう?
> # 不勉強ですみません
あ、ウソです。
ICU やそれを引いてる Encode は ucm ファイル中の <subchar> で、
Citrus の場合はエンコーディング定義ファイルの INVALID で、
「実装が決めてる」ケースが多い、ですね。
っと、思ったら GNU libiconv はオプションで与えさせていました。
というか、これってよくよく考えると、
* エラー
* 無視
* 特定の置換文字
* 対応する文字列 (U+XXXXや\xXXや\uXXXXなど)
になるわけで、無視を空文字、対応する文字列をフォーマット文字列と読み替え
れば、エラー以外は string なわけで、これって定数じゃなくて文字列でいい気
がしてきました。
つまり、以下の通り。
* エラー: nil
* 無視: ""
* 置換文字: "?" "〓" "\uFFFD" 等
* 対応する文字列 "U+%4X" "\\x%2X" "\\u{%X}" 等
っと、思ったのですが、バイトとして不正な場合と変換できない文字の場合で話
が違うような気がちらり。もうちょっと整理が必要かも。mb2mb って暗黙に
mb.valid? -> mb2wc -> wc2mb してるので、どの段階で死んだかによって話が変
わるんですよね。
# そういえば多段変換ってのもあったなぁ・・・。
> | > 変換元Cバイト配列、変換元encoding、変換先encoding、変換失敗時
> | > 対応方法、というような引数で呼べると嬉しいです。
> | > 変換失敗時対応方法として、エラー、指定文字に置き換え、のいず
> | > れかを選べ、エラー時には例外でなく戻り値で示してもらえると嬉
> | > しいですね。
> |
> | 思うに mbsrtowcs 的な API についての話だと思います。
>
> ああ、いや、なんというか、単に
> rb_funcall(str, rb_intern("encode"), 1, enc);
> と書かずに直接rb_str_transcode()相当を呼びたかっただけという
> だけです。
> ただしrb_str_transcode()そのものはrubyインタプリタ評価器から
> 呼ばれること前提なので、argvをばらした状態で呼べるものが欲し
> いな、というそれだけ...
あー、なるほど。途中でもうちょっと上のレイヤーカナーって気はしたんです
が、まぁ備忘録代りにまとめてもいいかなーと。
> 変換失敗時対応方法という引数があるといいというのは、String#encode
> 自体がそういう方向になるはずなので、というだけです。
>
> といわわけで、戻り値はVALUE(String)でいいですし、失敗はnilで
> 教えてくれればもう十分で、呼んだ側は失敗してたら後は死ぬなり
> 何なりすればいいやと思っていたので失敗したところから再開とか
> は全然考えていませんでした。
たぶん、「何なりする」ために再開が必要じゃないかなーと思います、たぶん。
> 成瀬さんの案は、String#encodeのブロック引数つき版に対応したAPI
> ということになるかと思うのですが、これはまあこれとして、私が
> 欲しかったのはもっと手軽に呼べるシンプルな奴です、はい。
ブロック引数付き版を 純粋な C のレイヤーでやるとこうなってしまうという例
ですかね。失敗したら無視かそのまま死んでしまうなら大幅にシンプルになるで
しょう。
ただ、失敗を救おうとすると再開や中断場所の情報が必要になって、再開可能に
すると状態が必要になるというように情報が増えていくので、とりまわしは多少
楽になっても、本質的に必要な情報はあまり変わらないかなぁと気もします。
--
NARUSE, Yui <naruse@airemix.com>
DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA