フォーチュンサモナーズ
«前の日記(2007-02-21) 最新 次の日記(2007-02-25)» 編集

Don'tStopMusic

2003|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|12|
2006|01|02|03|04|05|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|08|09|10|

カテゴリ別 2003年 | 2004年 | 2005年 | 2006年 | 2007年 | 2008年

知り合いサイト: よんだもの / 暴想 / Linuxでやる夫 / 新宿Vipper / 僕だけが幸せになればいいのに。


2007-02-23

_ [Ruby]SimpleCSV このエントリーを含むブックマーク

2ch でlibcsv が紹介されていた ので拡張ライブラリを作ってみました。

simplecsv-0.0.1.tgz

必要なもの

Linux 以外で動くか不明。マルチバイトで正しく動くか不安。あと parse しか実装してません。

実行例

require 'simplecsv'
SimpleCSV.parse(<<_CSV_) do |row|
one, two, three
1, 2, 3
_CSV_
  p row
end
#=> ["one", "two", "three"]
#=> ["1", "2", "3"]

追記

" や , の文字コードは Shift_JIS EUC-JP の多バイト文字とはかぶらないみたい。UTF-8 はかぶっているように見えるけど、実際試してみたら問題なくパースできました。とりあえず後回しにして困ったら追求しよう……

さらに追記 (2007/02/25 19:07)

ときどきの雑記帖 リターンズ

ん? sjisやeuc-jpでかぶらないという判定なら、utf-8でもかぶらないはずでは? どういう考え方をするとそうなるのだろう? 大雑把に云うと、utf-8のtrail byte は上位2ビットが必ず 10 なので、 ASCII(0〜0x7f)の範囲とは決して重なり合うことはないのだけど (lead byteも云うまでもなく)。

つっこみありがとうございます。単に理解していませんでした。適当なこと言ってすみません。U+0000 な文字表記とビットパターンを混同していたという……UTF-8 - Wikipedia エンコード体系を改めて眺めて理解しました。なるほど ASCII compatible という意味が分かりました。

本日のツッコミ(全1件) [ツッコミを入れる]
_ foreclosures century mortgage new (2007-08-02 13:45)

century mortgage new software http://newcenturymortgage.vdforum.ru

[]

最近のコメント:

  1. foreclosures century mortgage new (08-02)
  2. nighrxndfg (07-05)
  3. subprime mortgage loans (05-24)

RSS
Creative Commons License
This work is licensed under a Creative Commons License
(note: text only. w/o web design, citations, (re)distributed softwares).