カテゴリ別 2003年 | 2004年 | 2005年 | 2006年 | 2007年 | 2008年
知り合いサイト: よんだもの / 暴想 / Linuxでやる夫 / 新宿Vipper / 僕だけが幸せになればいいのに。
2ch でlibcsv が紹介されていた ので拡張ライブラリを作ってみました。
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 はかぶっているように見えるけど、実際試してみたら問題なくパースできました。とりあえず後回しにして困ったら追求しよう……
ん? sjisやeuc-jpでかぶらないという判定なら、utf-8でもかぶらないはずでは? どういう考え方をするとそうなるのだろう? 大雑把に云うと、utf-8のtrail byte は上位2ビットが必ず 10 なので、 ASCII(0〜0x7f)の範囲とは決して重なり合うことはないのだけど (lead byteも云うまでもなく)。
つっこみありがとうございます。単に理解していませんでした。適当なこと言ってすみません。U+0000 な文字表記とビットパターンを混同していたという……UTF-8 - Wikipedia エンコード体系を改めて眺めて理解しました。なるほど ASCII compatible という意味が分かりました。
最近のコメント:
RSS
![]()
This work is licensed under a
Creative Commons License
(note: text only. w/o web design, citations, (re)distributed softwares).
century mortgage new software http://newcenturymortgage.vdforum.ru