3 Responses to Есть кто-нибудь, общающийся с Visual Basic’ом?

  1. NamMilk:

    Сейчас есть такая функция (взята с форума MSDN).

    Imports Microsoft.VisualBasic
    Imports System
    Imports System.Text
    Imports System.Text.RegularExpressions

    Public Shared Function DecodeQuotedPrintableString(ByVal encodedString As String) As String
    Dim b As New StringBuilder()
    Dim startIndx As Integer = 0
    Dim QuotedPrintableRegex As New Regex(“:? < hexchars > [0-9a-fA-F]{2,2})”, RegexOptions.IgnoreCase Or RegexOptions.Compiled)
    Dim matches As MatchCollection = QuotedPrintableRegex.Matches(encodedStri ng)

    For i As Integer = 0 To matches.Count – 1
    Dim m As Match = matches(i)
    Dim hexchars As String = m.Groups(“hexchars”).Value
    Dim charcode As Integer = Convert.ToInt32(hexchars, 16)
    Dim c As Char = ChrW(charcode)
    If m.Index > 0 Then
    b.Append(encodedString.Substring(startIn dx, (m.Index – startIndx)))
    End If
    b.Append©
    startIndx = m.Index + 3
    Next

    If startIndx < encodedString.Length Then
    b.Append(encodedString.Substring(startIn dx))
    End If
    Return Regex.Replace(b.ToString(), “=” & vbCr & vbLf, “”)
    End Function

    На вход подается строка типа “=?UTF-8?Q?=D0=A1=D1=82=D0=B0=D1=80=D1=82=20=D1 =80=D0=B0=D1=81=D0=BF=D1=80=D0=BE=D0=B4= D0=B0=D0=B6=” (здесь кусок строки, начинающейся с ‘Старт распродаж’ без кавычек). На выходе – полный бред в ISO-8859-1, а хотелось бы – в UTF-8.
    Знаю, что UTF-8 записывается двумя hex-символами, но как всё это правильно сделать – никак не могу понять.

    Пожалуйста, направьте в правильную сторону.
    Visual Basic 2010.

  2. NamMilk:

    в 😕 < hexchars > пробелы специально для парсера

  3. 0duaTa:

    1. Есть gist.github.com и pastebin.com и т.д.
    2. http://stackoverflow.com/a/8307660/55209&#133; (из C# в VB сам переведешь?)

Добавить комментарий