Что такое код imap_utf7_encode

imap_utf7_encode

(PHP 3>= 3.0.15, PHP 4)

imap_utf7_encode — конвертирует 8-битные данные в модифицированный UTF-7-текст.

Описание

string imap_utf7_encode (string data)

Конвертирует 8-битные data в модифицированный UTF-7-текст. Это необходимо для имён mailbox’ов, содержащих международные символы вне печатаемого диапазона ASCII. Модифицированная кодировка UTF-7 определена в RFC 2060, раздел 5.1.3 (оригинальная UTF-7 была определена в RFC1642).

Кодирование пути папки IMAP (IMAP UTF-7) для Python — python

Я хотел бы знать, существует ли какая-либо «официальная» функция/библиотека в Python для кодирования пути к папке IMAP4 UTF-7.

В imapInstance.list() я получаю следующий путь, кодируемый IMAP UTF-7:

Если я делаю следующую кодировку:

Что такое кодировка UTF-7, но не IMAP UTF-7. Test+AOk- вместо Test&AOk- Мне нужна официальная функция или библиотека, чтобы получить кодированную версию IMAP UTF-7.

    3 3
  • 22 окт 2020 2020-10-22 01:20:14
  • Mibou

3 ответа

Я написал очень простую реализацию python 3 IMAP UTF7, которая следует за спецификацией, и, похоже, она работает. ( «foorbarnnnrr» и многие другие обратные вызовы, & BdAF6QXkBdQ-, Test & Co, «[Mails].Test & AOk-» and

peter/mail/& ZeVnLIqe -/& U, BTFw- ведут себя так, как ожидалось).

Учитывая простоту этого кода, я устанавливаю его в общедоступном домене, поэтому не стесняйтесь использовать его, как хотите.

imap_utf7_encode — Converts ISO-8859-1 string to modified UTF-7 text

(PHP 4, PHP 5, PHP 7)

imap_utf7_encode — Converts ISO-8859-1 string to modified UTF-7 text

Описание

Converts data to modified UTF-7 text.

This is needed to encode mailbox names that contain certain characters which are not in range of printable ASCII characters.

Список параметров

An ISO-8859-1 string.

Возвращаемые значения

Returns data encoded with the modified UTF-7 encoding as defined in » RFC 2060, section 5.1.3 (original UTF-7 was defined in » RFC1642).

imap_utf7_encode

(PHP 3>= 3.0.15, PHP 4)

imap_utf7_encode — конвертирует 8-битные данные в модифицированный UTF-7-текст.

Описание

string imap_utf7_encode (string data)

Конвертирует 8-битные data в модифицированный UTF-7-текст. Это необходимо для имён mailbox’ов, содержащих международные символы вне печатаемого диапазона ASCII. Модифицированная кодировка UTF-7 определена в RFC 2060, раздел 5.1.3 (оригинальная UTF-7 была определена в RFC1642).

Илон Маск рекомендует:  Что такое HTML. Учебник по HTML.

imap_utf7_decode

imap_utf7_decode — Decodes a modified UTF-7 encoded string

Описание

Decodes modified UTF-7 text into ISO-8859-1 string.

This function is needed to decode mailbox names that contain certain characters which are not in range of printable ASCII characters.

Список параметров

A modified UTF-7 encoding string, as defined in » RFC 2060, section 5.1.3 (original UTF-7 was defined in » RFC1642).

Возвращаемые значения

Returns a string that is encoded in ISO-8859-1 and consists of the same sequence of characters in text, or FALSE if text contains inval >text contains a character that is not part of ISO-8859-1 character set.

Смотрите также

  • imap_utf7_encode() — Converts ISO-8859-1 string to modified UTF-7 text

Кодирование пути папки IMAP (IMAP UTF-7) для Python

Я хотел бы знать, существует ли какая-либо «официальная» функция / библиотека в Python для кодирования пути к папке IMAP4 UTF-7.

В imapInstance.list() я получаю следующий путь: IMAP UTF-7 закодирован:

Если я сделаю следующую кодировку:

Это UTF-7, но не кодированный IMAP UTF-7. Test+AOk- вместо Test&AOk- мне нужна официальная функция или библиотека, чтобы получить кодированную версию IMAP UTF-7.

3 Solutions collect form web for “Кодирование пути папки IMAP (IMAP UTF-7) для Python”

Пакет IMAPClient имеет функциональность для кодирования и декодирования с использованием модифицированного UTP-7 IMAP. Посмотрите в модуле IMAPClient.imap_utf7. Этот модуль можно использовать автономно, или вы можете просто использовать IMAPClient, который будет прозрачно выполнять кодирование и декодирование имен папок.

Пример кода:

Внедрение imapclient довольно слабое:

После некоторого исследования я нашел реализацию в MailPile, которая не подведет при кодировании roundtrip в этом тесте. Я также портировал его на Python3, если вам интересно: https://github.com/MarechJ/py3_imap_utf7

Я написал очень простую версию python 3 IMAP UTF7, которая следует за спецификацией, и, похоже, она работает. («foo \ rbar \ n \ n \ n \ r \ r» и многие другие обратные вызовы: & BdAF6QXkBdQ-, Test & Co ‘, «[Mails] .Test & AOk-» и’

peter / mail / & ZeVnLIqe – / & U, BTFw- ‘ведут себя так, как ожидалось).

Учитывая простоту этого кода, я установил его в общественном достоянии, поэтому не стесняйтесь использовать его так, как вы хотите.

Кодировка пути к папке IMAP (IMAP UTF-7) для .NET?

Спецификация IMAP ( RFC 2060 , 5.1.3. Международное соглашение по присвоению имен почтовых ящиков) описывает, как обрабатывать символы не ASCII в именах папок. Он определяет модифицированную кодировку UTF-7:

По соглашению, имена международных почтовых ящиков указываются с использованием модифицированной версии кодировки UTF-7, описанной в [UTF-7]. Целью этих модификаций является исправление следующих проблем с UTF-7:

UTF-7 использует символ «+» для переключения; это противоречит общему использованию «+» в именах почтовых ящиков, в частности в именах групп новостей USENET.

Илон Маск рекомендует:  Макросы api

Кодировка UTF-7 — BASE64, в которой используется символ «/»; это противоречит использованию «/» в качестве популярного разделителя иерархии.

UTF-7 запрещает незашифрованное использование «\»; это противоречит использованию «\» в качестве популярного разделителя иерархии.

UTF-7 запрещает незашифрованное использование «

«; это противоречит использованию «

» на некоторых серверах в качестве индикатора домашнего каталога.

UTF-7 позволяет нескольким альтернативным формам представлять одну и ту же строку; в частности, печатные символы US-ASCII могут быть представлены в закодированном виде.

В модифицированном UTF-7 печатаемые символы US-ASCII, за исключением символа «&», представляют себя; то есть символы со значениями октетов 0x20-0x25 и 0x27-0x7e. Символ «&» (0x26) представлен двухоктетной последовательностью «& -».

Все другие символы (значения октетов 0x00-0x1f, 0x7f-0xff и все 16-битные октеты Unicode) представлены в модифицированном BASE64 с дальнейшей модификацией из [UTF-7], в которой вместо символа «/» используется «,».
Модифицированный BASE64 НЕ ДОЛЖЕН использоваться для представления любого печатного символа US-ASCII, который может представлять себя.

«&» используется для перехода к модифицированному BASE64, а «-» для возврата к US-ASCII. Все имена начинаются с US-ASCII и ДОЛЖНЫ заканчиваться на US-ASCII (то есть имя, заканчивающееся 16-битным октетом Unicode, ДОЛЖНО заканчиваться на «-»).

Прежде чем я начну реализовывать это, мой вопрос: есть ли какой-нибудь код / библиотека .NET (или даже в рамках), который выполняет эту работу? Я не смог найти .NET ресурсы (только реализации для других языков / фреймворков ).

Кодирование пути папки IMAP (IMAP UTF-7) для Python

5 Mibou [2012-10-08 09:54:00]

Я хотел бы знать, существует ли какая-либо «официальная» функция/библиотека в Python для кодирования пути к папке IMAP4 UTF-7.

В imapInstance.list() я получаю следующий путь, кодируемый IMAP UTF-7:

Если я делаю следующую кодировку:

Что такое кодировка UTF-7, но не IMAP UTF-7. Test+AOk- вместо Test&AOk- Мне нужна официальная функция или библиотека, чтобы получить кодированную версию IMAP UTF-7.

python encoding imap utf-7

3 ответа

4 Решение Menno Smits [2012-10-09 19:01:00]

Пакет IMAPClient имеет функции для кодирования и декодирования с использованием модифицированного IMAP UTF-7. Посмотрите в модуле IMAPClient.imap_utf7. Этот модуль может использоваться автономно или вы можете просто использовать IMAPClient, который будет прозрачно выполнять кодирование и декодирование имен папок.

Пример кода:

2 Maresh [2015-08-17 17:37:00]

Внедрение imapclient выглядит некорректно:

После некоторого исследования я нашел реализацию в MailPile, которая не прерывается при кодировании в обоих концах этого теста. Я также портировал его на Python3, если вам интересно: https://github.com/MarechJ/py3_imap_utf7

Я написал очень простую реализацию python 3 IMAP UTF7, которая следует за спецификацией, и, похоже, она работает. ( «foo\rbar\n\n\n\r\r» и многие другие обратные вызовы, ‘& BdAF6QXkBdQ-‘, ‘Test & Co’, «[Mails].Test & AOk-» and ‘

peter/mail/& ZeVnLIqe -/& U, BTFw- ‘ведут себя так, как ожидалось).

Илон Маск рекомендует:  Что такое код wddx_packet_end

Учитывая простоту этого кода, я устанавливаю его в общедоступном домене, поэтому не стесняйтесь использовать его, как хотите.

Кодирование путь к папке IMAP (IMAP UTF-7) для .NET?

Спецификация IMAP ( RFC 2 060 , 5.1.3 Mailbox Международной конвенции именования.) Описывает , как обращаться с не-ASCII символов в именах папок. Он определяет модифицированный кодировку UTF-7:

По соглашению, международные названия почтовых ящиков задаются с помощью модифицированного варианта кодировки UTF-7, описанной в [UTF-7]. Цель этих модификаций, чтобы исправить следующие проблемы с UTF-7:

UTF-7 использует знак «+» для смещения; это вступает в противоречие с обычным использованием «+» в именах почтовых ящиков, в частности, имена групп новостей USENET.

Кодировка UTF-7 является BASE64, который использует символ «/»; это конфликтует с использованием в качестве популярного разделителя «/» иерархии.

UTF-7 запрещает Unencoded использование \; это конфликтует с использованием «\» в качестве разделителя популярной иерархии.

UTF-7 запрещает незакодированное использование «

»; это конфликтует с использованием «

» в некоторых серверах в качестве индикатора домашнего каталога.

UTF-7 допускает множество альтернативных форм для представления той же строки; в частности, для печати US-ASCII chararacters может быть представлена ​​в закодированной форме.

В модифицированной UTF-7, печатные символы US-ASCII за исключением & представляют из себя; то есть символы с октета значения 0x20-0x25 и 0x27-0x7e. Символ «&» (0x26) представлена ​​последовательностью из двух октетов «& -».

Все остальные символы (октет значения 0x00-0x1f, 0x7F-0xff, и все Unicode 16-битных октетов) представлены в модифицированной BASE64, с дальнейшей модификации из [UTF-7] , что «» используется вместо „/“.
Модифицированная BASE64 недопустимо использовать для представления любой печати US-ASCII символов , которые могут представлять собой.

«&» Используется для перехода к модифицированному BASE64 и «-», чтобы перейти назад к US-ASCII. Все имена начинаются в US-ASCII и должны заканчиваться в US-ASCII (то есть имя, которое заканчивается с Unicode 16-битного октет должен заканчиваться «-»).

Прежде чем я начну ее реализацию, на мой вопрос: есть ли какая — нибудь .NET код / библиотека там (или даже в рамках) , что делает работу? Я не мог найти .NET ресурсов (только реализации для других языков / рамок ).

Что такое код imap_utf7_encode

(PHP 3 >= 3.0.15, PHP 4, PHP 5)

imap_utf7_encode — Converts ISO-8859-1 string to modified UTF-7 text

Description string imap_utf7_encode ( string data )

Converts data to modified UTF-7 text. Note that data is expected to be encoded in ISO-8859-1.

This is needed to encode mailbox names that contain certain characters which are not in range of printable ASCII characters.

Пред. Начало След.
imap_utf7_decode Уровень выше imap_utf8

Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL