.NET Compact Frameworkで、URLエンコード

VB.NET Compact Frameworkでは、HttpUtilityが使えないので

参考サイト:HttpUtilityの代わり(C#)

を、見てC#からVBに移植。
正直、変換しない文字の文字コード変換がイマイチなんですが。こんな感じ。
デコードはなし。

Public Function UrlEncode(ByVal s As String, ByVal enc As Encoding) As String
Dim rt As New StringBuilder
Dim data(1) As Byte
For Each i As Byte In enc.GetBytes(s)
' 0~9 , A~Z , a~z _
If (i >= &H30 And i <= &H39) Or (i >= &H41 And i <= &H5A) Or _
(i >= &H61 And i <= &H7A) Or i = &H5F Then
data(0) = i
rt.Append(enc.GetChars(data, 0, 1))
Else
rt.Append("%" + i.ToString("X2"))
End If
Next
Return rt.ToString()
End Function