Russian Qt Forum

Qt => Работа с сетью => Тема начата: blood_shadow от Апрель 10, 2011, 14:53



Название: кодировка mac'а
Отправлено: blood_shadow от Апрель 10, 2011, 14:53
Пишу класс для отправки на почту, но незнаю как называется кодировка
для mаc в спецификации SMTP, например:
с,

utf-8
windows-1251
koi8-u
koi8-r

этими кодировками я сделал, но хотелось еще и мак прицепить,
и еще имя текстового кодека в кьют для мака "Apple Roman"?


Название: Re: кодировка mac'а
Отправлено: Fess от Апрель 15, 2011, 06:51
UTF-8, не?..


Название: Re: кодировка mac'а
Отправлено: Пантер от Апрель 15, 2011, 07:18
UTF-8 все поддерживают.


Название: Re: кодировка mac'а
Отправлено: blood_shadow от Апрель 15, 2011, 10:46
UTF-8, не?..
поддержку ютф я турнул в свой класс, вот только осталось поддержку кодировки для мака
вставить, на многих почтах она стоит но просто отображается как mac и больше никакой инфы, например:
(http://i.pixs.ru/storage/5/2/9/111PNG_8969542_2036529.png)


Название: Re: кодировка mac'а
Отправлено: Авварон от Апрель 15, 2011, 11:08
Возможно вам нужна NSMacOSRomanStringEncoding
В любом случае это все морально устарело и везде на маке используются утф-8 (консоль, систем локаль) и утф-16 (внутреннее представление - CFString, NSString).
Еще возможно тут имеется ввиду маковская русская кодировка, которая на 99% совпадает с cp1251, но отличается парой символов (вроде "я" по другому кодировано). Пользовался такой хренью только 1 раз, чтобы ответить преподу на письмо в кои8-р

Выдержка из хедера CFString.h:
Код:
#define kCFStringEncodingInvalidId (0xffffffffU)
enum {
    kCFStringEncodingMacRoman = 0,
    kCFStringEncodingWindowsLatin1 = 0x0500, /* ANSI codepage 1252 */
    kCFStringEncodingISOLatin1 = 0x0201, /* ISO 8859-1 */
    kCFStringEncodingNextStepLatin = 0x0B01, /* NextStep encoding*/
    kCFStringEncodingASCII = 0x0600, /* 0..127 (in creating CFString, values greater than 0x7F are treated as corresponding Unicode value) */
    kCFStringEncodingUnicode = 0x0100, /* kTextEncodingUnicodeDefault  + kTextEncodingDefaultFormat (aka kUnicode16BitFormat) */
    kCFStringEncodingUTF8 = 0x08000100, /* kTextEncodingUnicodeDefault + kUnicodeUTF8Format */
    kCFStringEncodingNonLossyASCII = 0x0BFF /* 7bit Unicode variants used by Cocoa & Java */
#if MAC_OS_X_VERSION_10_4 <= MAC_OS_X_VERSION_MAX_ALLOWED
    ,
    kCFStringEncodingUTF16 = 0x0100, /* kTextEncodingUnicodeDefault + kUnicodeUTF16Format (alias of kCFStringEncodingUnicode) */
    kCFStringEncodingUTF16BE = 0x10000100, /* kTextEncodingUnicodeDefault + kUnicodeUTF16BEFormat */
    kCFStringEncodingUTF16LE = 0x14000100, /* kTextEncodingUnicodeDefault + kUnicodeUTF16LEFormat */

    kCFStringEncodingUTF32 = 0x0c000100, /* kTextEncodingUnicodeDefault + kUnicodeUTF32Format */
    kCFStringEncodingUTF32BE = 0x18000100, /* kTextEncodingUnicodeDefault + kUnicodeUTF32BEFormat */
    kCFStringEncodingUTF32LE = 0x1c000100 /* kTextEncodingUnicodeDefault + kUnicodeUTF32LEFormat */
#endif /* MAC_OS_X_VERSION_10_4 <= MAC_OS_X_VERSION_MAX_ALLOWED */
};


Название: Re: кодировка mac'а
Отправлено: blood_shadow от Апрель 16, 2011, 16:05
Возможно вам нужна NSMacOSRomanStringEncoding
перечитал кучу всяких дотошных Rfc и нашел все-таки кодировку в спецификации smtp
для ОС Mac OS - "macintosh"
в кьюте выбрал кодек с именем "Apple Roman" - управляю почту -
и...и.. и нихрена!  :o ;D знаки вопроса вместо кириллицы, или это не
"Apple Roman" или в почтовом ящике кодировка mac висит так, по приколу  ::)
пробовал ROMAN8 - тоже самое