1

アプリケーション(Windows、Linux、Solaris、AIXなどで動作します)を移植したいのですが、ロケールに多くの問題があります。このコードは、OSXを除くすべてのプラットフォームで機能します。

#define SIZE 1000

int main(int argc, const char * argv[])
{    
    char dest[SIZE];
    wchar_t *dptr = L"árvíztűrőtükörfúrógép";
    size_t count = SIZE;
    size_t length;

    setlocale(LC_CTYPE, "");

    length = wcstombs(dest, dptr, count);
    printf("%d characters were converted.\n", length);
    printf("The converted string is \"%s\"\n\n", dest);
}

ISO-8859-2エンコーディングで端末にそのテキストを印刷するのを手伝ってください!

どうもありがとう!

4

1 に答える 1

3

Apple Macintoshは、ISO8859-1またはISO8859-2エンコーディングを使用しません。代わりに、Appleは独自のコードテーブルを使用します。つまり、西ヨーロッパの場合はMacRoman、東ヨーロッパの言語の場合はMacCentralEuropeanを使用します。Macintosh上のWWWブラウザ(NetscapeNavigator2以降およびMicrosoftInternetExplorer 2.1)は、インターネットで使用されているISO8859エンコーディングからMacintoshネイティブ文字セットへの再コーディングを自動的に実行します。

ここから取得:http://nl.ijs.si/gnusl/cee/iso8859-2.html

必要なものは次のとおりです:http://en.wikipedia.org/wiki/Mac_OS_Roman

そして、これがUTF-8 <-> MacRoman変換コードです:http://alienryderflex.com/utf-8/

「ő」と「ű」の文字を取得するための「u」と「o」(これらの文字の後に挿入)の修飾子のみがあります。

こちらの表をご覧くださいhttp://www.alanwood.net/demos/macroman.html

「˝」、Code = 0xFD、U + 02DD、「ダブルアキュートアクセント」、間隔修飾子文字

(実際の「Thinkdifferent」)

于 2012-05-28T15:38:07.173 に答える