[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/02/07(Mon) 17:23
投稿者名:HK
Eメール:
URL :
タイトル:
16進数代入について
はじめまして。

chr$関数を使用して、Stringの1バイトに出力させたいのですが、
chr$(&h80) or chr$(&hE0) を出力しようとしても出力出来ないのですが・・・
基本的に無理なのでしょうか?

よろしくお願いします。

投稿時間:2005/02/07(Mon) 17:28
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: 16進数代入について
> chr$関数を使用して、Stringの1バイトに出力させたいのですが、
Chr$関数は、Unicodeベースの文字列を返します。
1バイト単位で返したいのであれば、ChrB関数を利用してみてください。

投稿時間:2005/02/07(Mon) 17:41
投稿者名:HK
Eメール:
URL :
タイトル:
Re^2: 16進数代入について
> > chr$関数を使用して、Stringの1バイトに出力させたいのですが、
> Chr$関数は、Unicodeベースの文字列を返します。
> 1バイト単位で返したいのであれば、ChrB関数を利用してみてください。

ご返答ありがとう御座います。

私の書き方が悪かったです。m(_ _)m
Stringの1バイトをテキストに出力しているのですが、バイナリで見て
"E0"or"80" になるように出力したいのですが・・・
ChrB関数を使用すると"F0"or"C1"となるのですが・・・
私のChr$関数の使い方が悪いのでしょうか?

投稿時間:2005/02/07(Mon) 17:48
投稿者名:HK
Eメール:
URL :
タイトル:
Re^3: 16進数代入について
> > > chr$関数を使用して、Stringの1バイトに出力させたいのですが、
> > Chr$関数は、Unicodeベースの文字列を返します。
> > 1バイト単位で返したいのであれば、ChrB関数を利用してみてください。
>
> ご返答ありがとう御座います。
>
> 私の書き方が悪かったです。m(_ _)m
> Stringの1バイトをテキストに出力しているのですが、バイナリで見て
> "E0"とか"81" になるように出力したいのですが・・・
> 私のChr$関数の使い方が悪いのでしょうか?

投稿時間:2005/02/07(Mon) 18:01
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re^3: 16進数代入について
> Stringの1バイトをテキストに出力しているのですが、バイナリで見て
> "E0"or"80" になるように出力したいのですが・・・
> ChrB関数を使用すると"F0"or"C1"となるのですが・・・

ChrB使用後のデータの扱いに問題が無いか、確認してみてください。
当方では、
  Debug.Print Hex( AscW( ChrB(&HE0) & ChrB(&H80) ) )
を実行したら、80E0 が出力されましたよ。


> 私のChr$関数の使い方が悪いのでしょうか?
先にも書きましたが、Chr$ では駄目なんですよ。ChrBです。

また、ChrBを用いたとしても、その後のバイナリデータに対して、
文字列操作命令を利用した場合、内部的に Shift_JIS ←→ Unicode の変換が
行われ、データが破損する可能性がありますので、その点は注意が必要です。

投稿時間:2005/02/07(Mon) 18:29
投稿者名:HK
Eメール:
URL :
タイトル:
Re^4: 16進数代入について
> > Stringの1バイトをテキストに出力しているのですが、バイナリで見て
> > "E0"or"80" になるように出力したいのですが・・・
> > ChrB関数を使用すると"F0"or"C1"となるのですが・・・
>
> ChrB使用後のデータの扱いに問題が無いか、確認してみてください。
> 当方では、
>   Debug.Print Hex( AscW( ChrB(&HE0) & ChrB(&H80) ) )
> を実行したら、80E0 が出力されましたよ。
>
>
> > 私のChr$関数の使い方が悪いのでしょうか?
> 先にも書きましたが、Chr$ では駄目なんですよ。ChrBです。
>
> また、ChrBを用いたとしても、その後のバイナリデータに対して、
> 文字列操作命令を利用した場合、内部的に Shift_JIS ←→ Unicode の変換が
> 行われ、データが破損する可能性がありますので、その点は注意が必要です。

ありがとう御座います。

投稿時間:2005/02/07(Mon) 17:33
投稿者名:LESIA
Eメール:
URL :
タイトル:
Re: 16進数代入について
> はじめまして。
>
> chr$関数を使用して、Stringの1バイトに出力させたいのですが、
> chr$(&h80) or chr$(&hE0) を出力しようとしても出力出来ないのですが・・・
> 基本的に無理なのでしょうか?
>
> よろしくお願いします。

chr$関数は文字列を返すので、Or演算子は使えないはずです。
chr$(&h80 or &hE0)なら出来ますが。

投稿時間:2005/02/07(Mon) 18:10
投稿者名:マルポ
Eメール:
URL :
タイトル:
Re^2: 16進数代入について
hhttp://www.takeittechies.com/vbtomo/boards/vbqanda.php?do=spread&num=8311