[#46143] るびま 標準添付ライブラリ紹介 第3回のサンプル EUC-JPの結果 — eiichi_maekawa@...

62 messages 2009/07/02
[#46153] Re: るびま 標準添付ライブラリ紹介 第3回のサンプル EUC-JPの結果 — "NARUSE, Yui" <naruse@...> 2009/07/03

成瀬です。

[#46165] Re: に関する1.8.6→1.8.7または、1.9へのバージョンアップ — eiichi_maekawa@... 2009/07/05

前川です。

[#46281] rubyの変数の扱いについて — "前川 映一" <eiichi_maekawa@...> 2009/08/17

前川です。

[#46283] Re: rubyの変数の扱いについて — "(株)ネットフォレスト 植田裕之" <ueda@...> 2009/08/17

植田と申します。

[#46146] 文字変換 — eiichi_maekawa@...

16 messages 2009/07/03
[#46147] Re: 文字変換 — Hidetoshi NAGAI <nagai@...> 2009/07/03

永井@知能.九工大です.

[#46148] Re: 文字変換 — eiichi_maekawa@... 2009/07/03

前川です。

[ruby-list:46168] Re: 文字から16進への変換方法について

From: eiichi_maekawa@...
Date: 2009-07-06 09:30:35 UTC
List: ruby-list #46168
前川です。

るびきちさんの助言で、なんとか、変換処理作りましたが、
もう少し、Rubyらしいコーディングにしたいのですが、
どなたか、ご教示願います。
よろしくお願いします。

るびきちさんの助言=======

> # -*- coding: cp932 -*-
> "船".each_byte do |byte|
> "%#x" % byte  # => "0x91", "0x44"
> end

> String#each_byteでそれぞれのバイトでループします。
> そして、byte(整数)を String#% を使って書式文字列 %#x で 0x〜 に変換しま
す。
=====================

下名が作成したプログラム(SJIS)−−−−−−−−−−−

data1 = '船海システムG' # 26バイトの '91448a43835683588365838047'に変換する
data2 = 'TEST' # 8バイトの '54455354'に変換する
data3 ='船'

def textToHexConversion(data)
  textHex=''
  byteConversionData = ['a','b','c','d','e','f']

  data.each_byte do |byte|
    "%#x" % byte
    textHex = textHex + (byte/16).to_s
    byte2 = byte % 16
    if (byte2 > 9)  #10以上は、aからfに置き換える
      textHex = textHex + byteConversionData[byte2-10]
    else
      textHex =textHex+byte2.to_s
    end
  end
  return textHex
end

puts textToHexConversion(data1) # data1の変換
puts textToHexConversion(data2) # data2の変換
puts textToHexConversion(data3) # data3の変換

−−−−−−−−−−−−−−−−−−−


In This Thread