Visual Basic サンプル集 |
Visual Basic 中学校 > Visual Basic サンプル集 > Visual Basic サンプル集目次 >
Base64Urlにエンコードする
2023/1/1
→ C# のサンプルに切り替える → Python のサンプルに切り替える
目次
文字列をUTF-8としてBase64Urlにエンコードする
Dim value As String = "徳川家康ABC"
Dim base64 As String = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(value))
base64 = base64.Replace("+", "-").Replace("/", "_").Replace("=", "")
Debug.WriteLine(base64) '5b6z5bed5a625bq3QUJD
これでもできます。
Dim value As String = "徳川家康ABC"
Dim base64 As String = Microsoft.AspNetCore.WebUtilities.Base64UrlTextEncoder.Encode(System.Text.Encoding.UTF8.GetBytes(value))
Debug.WriteLine(base64) '5b6z5bed5a625bq3QUJD
メモ:ASP.NET以外で、この例を実行するには NuGet で Microsoft.AspNetCore.WebUtilities をインストールする必要があります。 → NuGetでパッケージをインストールする方法
文字列をShift_JISとしてBase64Urlにエンコードする
#If NETCOREAPP Then '.NET CoreでShift_JISなど追加のエンコーディングを扱うために必要です。 System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance) #End If Dim value As String = "徳川家康ABC" Dim base64 As String = Convert.ToBase64String(System.Text.Encoding.GetEncoding("Shift_JIS").GetBytes(value)) base64 = base64.Replace("+", "-").Replace("/", "_").Replace("=", "") Debug.WriteLine(base64)
'k7-Q7InGjU5BQkM
これでもできます。
#If NETCOREAPP Then
'.NET CoreでShift_JISなど追加のエンコーディングを扱うために必要です。
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance)
#End If
Dim value As String = "徳川家康ABC"
Dim base64 As String = Microsoft.AspNetCore.WebUtilities.Base64UrlTextEncoder.Encode(System.Text.Encoding.GetEncoding("Shift_JIS").GetBytes(value))
Debug.WriteLine(base64) 'k7-Q7InGjU5BQkM
メモ:ASP.NET以外で、この例を実行するには NuGet で Microsoft.AspNetCore.WebUtilities をインストールする必要があります。 → NuGetでパッケージをインストールする方法
オブジェクトをBase64Urlにエンコードする
オブジェクトの一例として、List(Of String) をBase64Urlにする例。
Dim values As New List(Of String)({"Apple","徳川家康","12345"})
Dim json As String = System.Text.Json.JsonSerializer.Serialize(values)
Dim base64 As String = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(json))
base64 = base64.Replace("+", "-").Replace("/", "_").Replace("=", "")
'WyJBcHBsZSIsIlx1NUZCM1x1NURERFx1NUJCNlx1NUVCNyIsIjEyMzQ1Il0
Debug.WriteLine(base64)
メモ:この例ではオブジェクトをJSON形式で文字列化したものをBase64Urlにしています。
メモ:List(Of String)に限らず、JsonSerializerでJSON化できるオブジェクトはこの例が通用します。
これでもできます。
Dim values As New List(Of String)({"Apple","徳川家康","12345"})
Dim json As String = System.Text.Json.JsonSerializer.Serialize(values)
Dim base64 As String = Microsoft.AspNetCore.WebUtilities.Base64UrlTextEncoder.Encode(System.Text.Encoding.UTF8.GetBytes(json))
'WyJBcHBsZSIsIlx1NUZCM1x1NURERFx1NUJCNlx1NUVCNyIsIjEyMzQ1Il0
Debug.WriteLine(base64)
メモ:この例ではオブジェクトをJSON形式で文字列化したものをBase64Urlにしています。
メモ:List(Of String)に限らず、JsonSerializerでJSON化できるオブジェクトはこの例が通用します。
メモ:ASP.NET以外で、この例を実行するには NuGet で Microsoft.AspNetCore.WebUtilities をインストールする必要があります。 → NuGetでパッケージをインストールする方法
バイト型の配列をBase64Urlにエンコードする
Dim bytes() As Byte = {&H12, &H34, &H56, &H78, &H9A, &HBC, &HDE, &HF0}
Dim base64 As String = Convert.ToBase64String(bytes)
base64 = base64.Replace("+", "-").Replace("/", "_").Replace("=", "")
Debug.WriteLine(base64) 'EjRWeJq83vA
これでもできます。
Dim bytes() As Byte = {&H12, &H34, &H56, &H78, &H9A, &HBC, &HDE, &HF0}
Dim base64 As String = Microsoft.AspNetCore.WebUtilities.Base64UrlTextEncoder.Encode(bytes)
Debug.WriteLine(base64) 'EjRWeJq83vA
メモ:ASP.NET以外で、この例を実行するには NuGet で Microsoft.AspNetCore.WebUtilities をインストールする必要があります。 → NuGetでパッケージをインストールする方法