僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
つぃったーは既にXMLからJSONに移ってる模様。
マークアップより、見た目のとっつきは良くない。
http://twitter.com/statuses/friends_timeline.json を
見ても、一行(改行コードもない)の長ったらしいテキストばっかり。
せめて "text":"\uhogehoge\ufugafuga..." くらいはどうにか読んで
おきたいものだ。
で、以前にどこかから貰った(汗、スクリプトをてけとーに改造してみた。
$ cat u_enc.rb #!/usr/bin/env ruby class String def my_toref require 'kconv' toutf16.unpack( "n*" ).map do |n| (n < 128 ? '%c' : '\u%x') % n end.join end end while( line = gets) puts line.my_toref end $ echo 変換テスト | u_enc.rb \u5909\u63db\u30c6\u30b9\u30c8
$ cat d_enc.rb #!/usr/bin/env ruby require 'cgi' require 'nkf' while line = gets() line.gsub!(/(\\u)([a-z0-9]{4})/){"&#x" + $2 + ";" } print NKF.nkf("--numchar-input -e", line) end $ echo '\u5909\u63db\u30c6\u30b9\u30c8' | d_enc.rb 変換テスト
追記。& の表記を忘れていた。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。