[#49148] Ruby 1.9で、バイト長の部分文字列を作りたくて悩んでます — Daisuke Yokotsuka <yokots_d@...3-net.ne.jp>

はじめまして。横塚と申します。

16 messages 2013/01/29

[ruby-list:49159] Re: Ruby 1.9で、バイト長の部分文字列を作りたくて悩んでます

From: とみたまさひろ <tommy@...>
Date: 2013-01-29 14:27:47 UTC
List: ruby-list #49159
On Tue, 29 Jan 2013 21:20:38 +0900
Daisuke Yokotsuka <yokots_d@c3-net.ne.jp> wrote:

> target = data.force_encoding("BINARY").slice(0,72).force_encoding("Windows-31J") ;  
> 
> で、encodingの問題も、実行性能も、無事に解決できました。

data.force_encoding だと元の文字列のエンコーディングも変更されてしまうため注意が必要です。もし data のエンコーディングを元のままにしておきたい場合は、

    data.dup.force_encoding("BINARY")....

のようにすればよいです。

-- 
とみたまさひろ <tommy@tmtm.org>
http://twitter.com/tmtms
D68F 8F55 7F6C 5908 88EB  1EBA 25ED DEE7 BBE8 1752

In This Thread