[#46340] ASR 1.8.7 同梱の exerb で生成したプログラムが enumerator を見つけられない — "(株)ネットフォレスト 植田裕之" <ueda@...>
植田と申します。
10 messages
2009/09/01
[#46344] Re: ASR 1.8.7 同梱の exerb で生成したプログラムが enumerator を見つけられない
— arton <artonx@...>
2009/09/01
artonです。
[#46345] Re: ASR 1.8.7 同梱の exerb で生成したプログラムが enumerator を見つけられない
— "NARUSE, Yui" <naruse@...>
2009/09/01
成瀬です。
[#46346] Re: ASR 1.8.7 同梱の exerb で生成したプログラムが enumerator を見つけられない
— "(株)ネットフォレスト 植田裕之" <ueda@...>
2009/09/02
植田です。こんにちは。
[#46347] requireが失敗することについて — 北村寛 <kitayuta@...>
北村と申します。最近Rubyを始めた初心者です。
6 messages
2009/09/02
[#46378] 最も低コストの方法は? — 大田黒俊夫 <toshio.otaguro@...>
質問です.
8 messages
2009/09/11
[#46380] Re: 最も低コストの方法は?
— rubikitch@...
2009/09/11
From: 大田黒俊夫 <toshio.otaguro@gmail.com>
[#46386] Rubyの演習問題 — "Tetsuya Kamisawa" <kami@...2000.net>
はじめて投稿させていただきます、神沢と申します。
6 messages
2009/09/12
[#46403] moodle と連携した eラーニング教材開発について — "Hideo Konami" <konami@...>
京都女子大の小波です。
3 messages
2009/09/21
[#46408] html→csv変換|tableのセル結合に対応したものは? — YOSHIIZUMI <t-yoshiizumi@...>
吉泉といいます。
7 messages
2009/09/23
[#46410] 再送;;ruby1.8.7と1.9.2の文字処理について — eiichi_maekawa@...
6 messages
2009/09/24
[#46426] DateTime#to_time — "T.Soejima" <clev@...2.so-net.ne.jp>
相変わらず ruby 勉強中のそえじまです。
11 messages
2009/09/30
[#46427] Re: DateTime#to_time
— "NARUSE, Yui" <naruse@...>
2009/09/30
成瀬です。
[#46429] Re: DateTime#to_time
— "T.Soejima" <clev@...2.so-net.ne.jp>
2009/09/30
成瀬さん、ありがとうございます。
[ruby-list:46419] ;Re: Re: エラーでした;Re: Re: 再送;;ruby1.8.7と1.9.2の文字処理について
From:
eiichi_maekawa@...
Date:
2009-09-28 00:17:40 UTC
List:
ruby-list #46419
前川です。
なかむら(う)さん、高橋さん ありがとうございます。
実施したいのは、そのまま、変換することです。
(エスケープシケンスの\は、仕方ありませんが・・・)
(\\は、\にしかできませんが)
本体;;
#!D:/Ruby/bin/ruby.exe
#require 'kconv'
#require 'nkf'
require 'D:/Apache2.2/htdocs/qmsPotalShip/myclass' #MyClass 変換メソッド等
# 試験データ
# 文字→HEXへ変換するためのデータ
data1 = '船海システムG' # 26バイトの '91448a43835683588365838047'に変換する
data2 = 'TEST' # 8バイトの '54455354'に変換する
data3 ='船'
data4 ='kaisya会社123重厚重工業・・あaア /\¥'
data5 ='kaisya会社123重厚重工業あaイ '
data6 ='会社'
data7 = 'C:/Apache2.2/htdocs/qmsPotalShip/confirmation/sjisコード表
textConversion用.html'
data8 = "12_FBSYS_不具合情報入力-所内工事(速報) 23船証第三確認者の確認画面
03:コメント記入前:船証.png"
puts '文字からHEXへ変換'
puts data1 + " → " + MyClassText.text_to_hex(data1)
puts data2 + " → " + MyClassText.text_to_hex(data2)
puts data3 + " → " + MyClassText.text_to_hex(data3)
puts data4 + " → " + MyClassText.text_to_hex(data4)
puts data5 + " → " + MyClassText.text_to_hex(data5)
〜以下略
MyClassText.text_to_hex(data?)は、以下
##!C:/Ruby/bin/ruby.exe -Ks
print "Content-Type: text/html\n\n"
require 'kconv' # Stringの日本語関連メソッド
require 'nkf' # 漢字関係 Network Kanji code conversion Filter version 1.7
require 'cgi' # CGI プログラムの支援ライブラリ
require 'mysql' #MySQLライブラリ
#require "rubygems" # ライブラリ管理ツール
#require "dbi"
CODES = {
NKF::JIS => "JIS",
NKF::EUC => "EUC",
NKF::SJIS => "SJIS",
NKF::BINARY => "BINARY",
NKF::UNKNOWN => "UNKNOWN(ASCII)",
}
class MyClassText
# 文字を16進数の文字コードに変換する
def self.text_to_hex(data)
data.unpack('H*')[0]
end
# 16進数の文字コードを文字に変換する
def self.hex_to_text(data)
data.gsub(/../){|c| c.hex.chr}
end
#string内の特定文字列を、指定した文字で置き換える。
#戻り値;置き換えた文字列
# 該当する文字列が存在しない場合は、元の文字列を返す
def self.string_change(data,org,change)
data.gsub( org, change )
end
end #MyClassText 終了
実施結果
Content-Type: text/html
文字からHEXへ変換
船海システムG → 91448a43835683588365838047
TEST → 54455354
船 → 9144
kaisya会社123重厚重工業・・あaア /\¥ →
6b616973796189ef8ed03132338f648cfa8f648d488bc68145a582a061b12081402f5c818f
kaisya会社123重厚重工業あaイ →
6b616973796189ef8ed03132338f648cfa8f648d488bc682a061b2208140
1.9系では、なかむら(う)さんより、バグとの指摘です。
> こんにちは、なかむら(う)です。
> In message "[ruby-list:46415] Re: エラーでした;Re: Re: 再
> 送;;ruby1.8.7と1.9.2の文字処理について"
> on Sep.25,2009 20:16:21, <maki@rubycolor.org> wrote:
> > という前川さんの問題とは別に、このような文字列リテラルの挙動は
> > エラーで正しいのでしょうかね。ASCII文字では問題なさそうですし。
> > 本来はどういう扱いであるべきなのでしょうか?
> バグでしょう。
> Index: parse.y
> ===================================================================
> --- parse.y (revision 25091)
> +++ parse.y (working copy)
> @@ -5737,6 +5737,8 @@ parser_tokadd_string(struct parser_param
> }
> else if (c != term && !(paren && c == paren)) {
> tokadd('\\');
> + pushback(c);
> + continue;
> }
> }
> }
1.8系で、進めることにします。
今、作成中のシステムでは、上記の文字変換が、必須です。
また、逆に16進コードから、文字への変換も必要です。
文字→HEX→文字 の場合は、
kaisya会社123重厚重工業・・あaア /\¥
→
6b616973796189ef8ed03132338f648cfa8f648d488bc68145a582a061b12081402f5c818f
→ kaisya会社123重厚重工業・・あaア /\¥
という結果がほしいのです。
ありがとうございました。
しかし、1.9系で、# -*- coding: windows-31j -*-を2行目rに追加しても
実行できない原因は、不明のままです。
どなたか、ご教示ください。
[ruby-list:46414] エラーでした;Re: Re: 再送;;ruby1.8.7と1.9.2の文字処
理について
> 2.結果
> D:/Apache2.2/htdocs/ruby_prg/ruby19check/myclassTextTest.rb:13: invalid
> multibyte char (Windows-31J)
> D:/Apache2.2/htdocs/ruby_prg/ruby19check/myclassTextTest.rb:14: syntax
> error, unexpected tIDENTIFIER, expecting $end
> data5 ='kaisya会社123重厚重工業あaイ '
> ^
> Complete(1)
> 何が、まずかったのでしょうか。
> Rubyは、1.9.1p129 です。
> Ruby1.9.2devでも、同様のエラーが出ました。