powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Quoted Printable Encoding utf-8
3 сообщений из 3, страница 1 из 1
Quoted Printable Encoding utf-8
    #38331417
Che0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите!
Не могу никак перекодировать. Перепробовал уже сто готовых функций с гугла. Или выдает краказябры, или просто оставляет исходный текст. линк на файл
...
Рейтинг: 0 / 0
Quoted Printable Encoding utf-8
    #38331476
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Che0,

.. вот такая у меня функция раскодирует (если в браузере)

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Public Function DecodeQpUTF8(mBody As String, mContentType As String) As String
        mBody = mBody.Replace("=" & vbCrLf, String.Empty)
        Dim tempString As String = String.Empty
        For index As Integer = 0 To mBody.Length - 1
            If mBody.Chars(index) = "=" Then
                Dim strFirstByte As String = String.Empty
                For n As Integer = 1 To 2
                    strFirstByte += mBody.Chars(index + n)
                Next
                If Convert.ToInt32(strFirstByte, 16) >= Convert.ToInt32("C3", 16) Then
                    Dim b(2) As [Byte]
                    Dim strSecondByte As String = String.Empty
                    b(0) = Convert.ToByte(strFirstByte, 16)
                    For n As Integer = 1 To 2
                        strSecondByte += mBody.Chars(index + 3 + n)
                    Next
                    b(1) = Convert.ToByte(strSecondByte, 16)
                    Dim strUbyte As String = System.Text.Encoding.UTF8.GetString(b)
                    tempString += strUbyte
                    index += 5
                Else
                    tempString += Convert.ToChar(Convert.ToInt32(strFirstByte, 16))
                    index += 2
                End If
            Else
                tempString += mBody.Chars(index)
            End If
        Next
        If mContentType.ToLower.Contains("text/plain") Then
            tempString = tempString.Replace(vbCrLf, "
")
        End If
        Return tempString.Replace(ChrW(194), String.Empty)
    End Function
...
Рейтинг: 0 / 0
Quoted Printable Encoding utf-8
    #38331504
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
        /// <summary>
        /// Преобразует строку в массив целочисленных беззнаковых интов, используя quoted-ptintable
        /// </summary>
        /// <param name="text">Строка(текст) для преобразования</param>
        /// <returns>Целочисленный массив (безнаковый)</returns>
        public static byte[] FromQuotedPrintableEncoding(string text)
        {
            // убираем незначащие переносы
            text = text.Replace("=\r\n", "");

            using (var stream = new MemoryStream(text.Length))
            {
                int currentPos = 0;
                while (true)
                {
                    if (currentPos >= text.Length)
                        break;

                    var _char = text[currentPos];
                    switch (_char)
                    {
                        case '=':
                            stream.WriteByte(Convert.ToByte(text.Substring(currentPos + 1, 2), 16));
                            currentPos += 3;
                            break;
                        default:
                            stream.WriteByte(Convert.ToByte(_char));
                            currentPos += 1;
                            break;
                    }
                }

                return stream.ToArray();
            }
        }
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Quoted Printable Encoding utf-8
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]