変数 Hex関数日本語をHex文字に変換

VB&VBA
FROG ふろっぐ
 
  • オプション

    本文印刷

    お気に入りに追加

  • 検索

    Googlewwwjp-ia
     

    Googlewwwjp-ia
     
  • 情報

  • 関連

[VB&VBA][変数 Hex関数日本語をHex文字に変換]

Option Explicit
'Hex関数
'**************************************************
'サイト等で良く使われる関数(%)に変換又はその逆変換
'===========================================================================


'*****************************************
'Hex関数 日本語をHex文字に変換
'*****************************************

Sub test1()
Const 文字 As String = "ホームページVER10.1" '定数宣言
Debug.Print Hex変換関数(文字)
    MsgBox Hex変換関数(文字)
End Sub

Function Hex変換関数(ByVal 対象文字 As String)
'*****************************************
'Hex関数 日本語をHex文字に変換
'*****************************************
Dim 変換文字() As Byte, 実行数 As Long
    変換文字 = StrConv(対象文字, vbFromUnicode) '文字列を Unicode に変換
    
        For 実行数 = 0 To UBound(変換文字) '配列の指定された次元で使用できる添字の最大値
            Hex変換関数 = Hex変換関数 & "%" & Hex(変換文字(実行数))
        Next
End Function

'--------------------------------------------------------------------------

'*****************************************
'Hex関数 Hex文字を日本語に変換
'*****************************************

Sub test2()
Const Hex文字 = "%83%7A%81%5B%83%80%83%79%81%5B%83%57%56%45%52%31%30%2E%31"
Debug.Print Hex逆変換関数(Hex文字)
    MsgBox Hex逆変換関数(Hex文字)
End Sub

Function Hex逆変換関数(ByVal 対象文字 As String) As String
'*****************************************
'Hex関数 Hex文字を日本語に変換
'*****************************************
Dim 変換文字() As Byte, 実行数 As Long
    実行数 = 0
        Do While Len(対象文字) > 0
            If Left(対象文字, 1) = "%" Then
                ReDim Preserve 変換文字(0 To 実行数)
                '基数を示すプリフィックス &O (8 進数) や &H (16 進数) は認識
                変換文字(実行数) = Val("&H" & Mid(対象文字, 2, 2))
                対象文字 = Right(対象文字, Len(対象文字) - 3)
                実行数 = 実行数 + 1
            End If
        Loop
    Hex逆変換関数 = StrConv(変換文字, vbUnicode) '文字列を Unicode に変換
End Function





Production Japan Import Application. Since 1998