jcodeを使ってみる

公開日: : 最終更新日:2014/02/04 Ruby

記事内に広告を含む場合があります。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

エンコーディングを指定しない場合


irb(main):023:0> $KCODE = "NONE"
=> "NONE"
irb(main):024:0> require 'jcode'
=> true
irb(main):025:0> str = "\342\210\202x/\342\210\202y"
=> "\342\210\202x/\342\210\202y"
irb(main):026:0> str.length
=> 9
irb(main):027:0> str.jlength
=> 9
irb(main):028:0> str.jcount("\210")
=> 2
irb(main):029:0> str.chop!
=> "\342\210\202x/\342\210\202"
irb(main):030:0> str.chop!
=> "\342\210\202x/\342\210"
irb(main):032:0> str = "\342\210\202x/\342\210\202y"
=> "\342\210\202x/\342\210\202y"
irb(main):033:0> str.each_char {|ch| print ch.inspect, " "}
"\342" "\210" "\202" "x" "/" "\342" "\210" "\202" "y" => "\342\210\202x/\342\210\202y"

str.jlength が、自分の求めていたものっぽい。

エンコーディングにUTF-8を指定した場合


irb(main):034:0> $KCODE = "UTF-8"
=> "UTF-8"
irb(main):035:0> require 'jcode'
=> false
irb(main):036:0> str = "\342\210\202x/\342\210\202y"
=> "∂x/∂y"
irb(main):037:0> str.length
=> 9
irb(main):038:0> str.jlength
=> 5
irb(main):039:0> str.jcount("\210")
=> 0
irb(main):040:0> str.chop!
=> "∂x/∂"
irb(main):041:0> str.chop!
=> "∂x/"
irb(main):042:0> str = "\342\210\202x/\342\210\202y"
=> "∂x/∂y"
irb(main):043:0> str.each_char {|ch| print ch.inspect, " "}
"" "x" "/" "" "y" => "∂x/∂y"

BINGO!!やっぱりstr.jlength が、自分の求めていたものだった。

関連記事

サンフランシスコのピア39にあるチャウダーズでクラムチャウダーを食す!

lolipop アップルの開発者向けイベント「WWDC2014」

ミスドのカルピスドーナツとカルピスポンデリングを食べてみた!

ミスドで期間限定のカルピスコラボ商品「カルピスドーナツ」と「カルピ

十三カレー計画で牛すじカレーネギのせを食す!(大阪・十三)

「iPhoneアプリ開発キャンプ@大阪」のランチで、十三カレー計画

大阪・難波の加寿屋 法善寺でかすうどんを食す。ランチタイムはおにぎり2個まで無料!

大阪・難波の加寿屋 法善寺 (かすうどん KASUYA)で、かす

ライブドアブログで運営していた「あきお商店」を「卵は世界である」に改名しました

少し前からライブドアブログで「あきお商店」というブログをやって

→もっと見る

PAGE TOP ↑