OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

HEX

  • すぐに回答を!
  • 質問No.169033
  • 閲覧数667
  • ありがとう数4
  • 気になる数0
  • 回答数8
  • コメント数0

お礼率 0% (0/8)

HEXで'0x1E','0x1D''0x00'
をそれぞれ文字型に1字で入れたいのですがどういう記述をすればよいのでしょうか。
通報する
  • 回答数8
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.8
レベル12

ベストアンサー率 65% (276/422)

参考までに補足です。
>Visual BASIC にはその機能がないため少々困難です。
キャストできますよ。

バイト配列にセットしてあげれば、VBでも操作可能です。。。
-PR-
-PR-

その他の回答 (全7件)

  • 回答No.2
レベル12

ベストアンサー率 65% (276/422)

#1と同意見しか思いうかばないのですが。。。 どういった答えが望みなのかがよく理解できません。 それぞれを文字列1字ってどういうことですか? もしC言語からの移行ならば、「Cだったらこうなるのに」とかいうイメージが無いと、言いようが・・・ないのでは・・・ もっと詳細な情報が欲しいです。 ...続きを読む
#1と同意見しか思いうかばないのですが。。。

どういった答えが望みなのかがよく理解できません。

それぞれを文字列1字ってどういうことですか?
もしC言語からの移行ならば、「Cだったらこうなるのに」とかいうイメージが無いと、言いようが・・・ないのでは・・・

もっと詳細な情報が欲しいです。
補足コメント
hex

お礼率 0% (0/8)

現在accessでテキスト吐き出しをしています。
仕様書には項目は桁数1桁で'0x1E'をセットと書いてあります。

先ほどので行った場合'51'が文字列に代入されてしまってたぶんちがうと
思いました。

これでわかりますでしょうか?
よろしくお願いします。
投稿日時 - 2001-11-15 11:54:57


  • 回答No.1
レベル13

ベストアンサー率 26% (267/1014)

dim moji1 as string dim moji2 as string dim moji3 as string moji1=ASC(&H1e) moji2=ASC(&H1d) moji3=ASC(&H00) ...続きを読む
dim moji1 as string
dim moji2 as string
dim moji3 as string

moji1=ASC(&H1e)
moji2=ASC(&H1d)
moji3=ASC(&H00)
補足コメント
hex

お礼率 0% (0/8)

Dim RS As String
Dim GS As String

RS = Asc(&H1E)
GS = Asc(&H1D)

RSの値が'51'
RSの値が'50'
になってしまいました。
他にないでしょうか?
投稿日時 - 2001-11-15 11:25:09
  • 回答No.3

 基本的に、HEX は、お書きのような形式である限り、絶対に2文字になります。  1文字にはできません。  強引にやるとしたら、4ビットを1文字として扱う圧縮文字を使う方法ですが、これだと目で見ることはできず、なんだかよく分からない文字化け文字になります(ただし、圧縮文字はプログラムの効率が上昇する場合もあります)。 ...続きを読む
 基本的に、HEX は、お書きのような形式である限り、絶対に2文字になります。
 1文字にはできません。

 強引にやるとしたら、4ビットを1文字として扱う圧縮文字を使う方法ですが、これだと目で見ることはできず、なんだかよく分からない文字化け文字になります(ただし、圧縮文字はプログラムの効率が上昇する場合もあります)。
補足コメント
hex

お礼率 0% (0/8)

もしかしたらヘキサでないんでしょうか?
仕様書には0x1eを文字1桁のところに代入と書いてあります。
投稿日時 - 2001-11-15 12:03:11
  • 回答No.4
レベル12

ベストアンサー率 65% (276/422)

すいません。意味がまだ理解できていません。 一つのフィールドを'0x1E'(30)バイトで出力という意味ですか? それともバイトデータで '0x1E','0x1D''0x00' により、一文字を作成するという意味ですか? ...続きを読む
すいません。意味がまだ理解できていません。

一つのフィールドを'0x1E'(30)バイトで出力という意味ですか?
それともバイトデータで
'0x1E','0x1D''0x00'
により、一文字を作成するという意味ですか?
補足コメント
hex

お礼率 0% (0/8)

後者の方です。
吐き出しのサイズはx(1)でHEX"1E"とかって書いてあります。
投稿日時 - 2001-11-15 12:10:17
  • 回答No.6
レベル12

ベストアンサー率 65% (276/422)

wkStr = StrConv(bytAry, vbUnicode) でなく、vbFormUnicodeで変換しなければいけないパターンもあるようです。 '0x1E','0x1D''0x00' はこの掲示板に質問をするためのダミーのデータですか。それとも現在のプロジェクトで使用してる生きたデータですか。 もし生きたデータなら、どういう値 ...続きを読む
wkStr = StrConv(bytAry, vbUnicode)
でなく、vbFormUnicodeで変換しなければいけないパターンもあるようです。

'0x1E','0x1D''0x00' はこの掲示板に質問をするためのダミーのデータですか。それとも現在のプロジェクトで使用してる生きたデータですか。
もし生きたデータなら、どういう値を返したら正しいのかがわかると、推測しやすいのですが、、、
もしそれが不可能なら、逆に文字列”あ”はバイトでどういう表現がなされているのかだけでもわかると、推測しやすいです。
  • 回答No.5
レベル12

ベストアンサー率 65% (276/422)

仕様書やつくりを見てみないとわからないけど、バイトデータから文字列を興すときは、データの入り方によって違うので、二つのパターンがあります。 Dim bytAry(0 To 1) As Byte Dim wkStr As String bytAry(0) = &H1E bytAry(1) = &H1D 'パ ...続きを読む
仕様書やつくりを見てみないとわからないけど、バイトデータから文字列を興すときは、データの入り方によって違うので、二つのパターンがあります。

Dim bytAry(0 To 1) As Byte
Dim wkStr As String

bytAry(0) = &H1E
bytAry(1) = &H1D

'パターン1
wkStr = bytAry
'パターン2
wkStr = StrConv(bytAry, vbUnicode)

こんな感じかな?

で、おそらく'0x00' は文字列の終了を示してると思います。
  • 回答No.7

 はい、分かりました(笑)  それは「16進を1桁にする」という意味ではなく、単純に「数値を代入する」という意味です。  16進数というのは、数え方が違うだけで数字は数字ですので、普通に数値として代入することができます。  つまり、0x1e は、見た目上は4文字で構成されていますが、コンピューターはこれ4文字を1つの数字と解釈するのです。  ――が。  混乱の原因は、今ご覧になってい ...続きを読む
 はい、分かりました(笑)

 それは「16進を1桁にする」という意味ではなく、単純に「数値を代入する」という意味です。

 16進数というのは、数え方が違うだけで数字は数字ですので、普通に数値として代入することができます。
 つまり、0x1e は、見た目上は4文字で構成されていますが、コンピューターはこれ4文字を1つの数字と解釈するのです。

 ――が。
 混乱の原因は、今ご覧になっている仕様書それ自体が、Visual BASIC では使えないものであるということです。
 たしかにC言語ならば、a[0]=0x1e という記述をすることができますが、これはC言語が、「一時的に文字列型を数値型として扱う」という、いわゆる「キャスト機能」を持っているから可能になることで、Visual BASIC にはその機能がないため少々困難です。

 ですので、その仕様書を渡した人に、「Visual BASIC では少し難しいと言われたんだけど」と前置きして、どうすればいいか聞いてみてください。

 それが困難な場合は別途補足ください。
補足コメント
hex

お礼率 0% (0/8)

どうやら0x1Eはchr(30)で落ち着くようです。(社内討議の結果)
っていうかこれ以外に捉えようがないという結論にいたりました。
仕様書書いてる人が汎用の人なんではっきりいって何いっても返っ
てこない状況でして^^

windowsのプログラムに動作の説明がないやら
テーブル構造図がないやらで何考えてるのかわかんない感じです。

みなさん  本当にありがとうございました。
回答の早さにびっくりしました。またよろしくお願いします。
投稿日時 - 2001-11-15 13:16:40
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ