掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB6 ESC/Pコードで日本語印字させるには (ID:102907)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> Print #1, Chr$(36) + Chr$(70); Chr$(36) + Chr$(57); Chr$(36) + Chr$(72) 16 進数で表記すると、 Print #1, Chr(&H24) & Chr(&H46); Chr(&H24) & Chr(&H39); Chr(&H24) & Chr(&H48) ですね。これ自体は Print #1, "$F$9$H" と同義です。 > 漢字コード(16進)へ変換することはできないでしょうか? とりあえず、 Dim bin() As Byte With CreateObject("ADODB.Stream") .Open .Type = 2 'text mode .Charset = "iso-2022-jp" '文字コード指定 .WriteText Text1.Text '書き込み .Position = 0 .Type = 1 'binary mode bin = .Read(-1) '読み込み .Close End With のようにすると、"てすとテスト亜意卯" という文字列を 下記の 24 バイトのデータに変換できます。 1B 24 42 24 46 24 39 24 48 25 46 25 39 25 48 30 21 30 55 31 2C 1B 28 42 内訳としてはこんな感じ。 1B,24,42, 漢字モード 24,46, "て" ($F) 24,39, "す" ($9) 24,48, "と" ($H) 25,46, "テ" (%F) 25,39, "ス" (%9) 25,48, "ト" (%H) 30,21, "亜" (0!) 30,55, "意" (0U) 31,2C, "卯" (1,) 1B,28,42, ASCIIモード 漢字ひらがな限定など、途中でASCII との切り替えが発生しない事が保証される場合は、 内容検証無しで、前後3バイトずつを切り捨ててしまっても良いかも。 Dim bin() As Byte With CreateObject("ADODB.Stream") .Open .Type = 2 'text mode .Charset = "iso-2022-jp" '文字コード指定 .WriteText "てすとテスト亜意卯" '書き込み .Position = 0 .Type = 1 'binary mode .Position = .Size - 3 .SetEOS '最後の3バイトを破棄 .Position = 3 '先頭3バイトを読み捨てて bin = .Read(-1) '残りを取得 .Close End With ' s = "$F$9$H%F%9%H0!0U1," Dim s As String s = StrConv(bin, vbUnicode, 1041) Print #1, s
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.