6

Older Macintoshes and the Apple IIgs used a custom character set for documents and filenames. Each character was held in an 8-bit byte, using 0x00-0x7F for ASCII, and 0x80-0xFF for various symbols and Latin alphabet characters.

How does this map to Unicode?

10

The character set is known as "Mac OS Roman". The official mapping from Mac OS Roman to Unicode can be found on unicode.org.

While the character set is similar to Windows-1252 and ISO-8859-1, having many characters in common, it's not a direct match for either.

All of the characters are in the Basic Multilingual Plane (BMP). It's worth noting, however, that the character at 0xF0 ("Apple Logo") maps to code point 0xF8FF, which is in the BMP Private Use Area (informally, the Corporate Use Area). This code point is used in a variety of ways, so the glyph that appears may not be what you expect (and will often be the "no glyph" glyph).

A conversion table formatted as an array in C can be found here.

  • 2
    MacOS Roman aka MacRoman aka Mac encoding is still used in some cases by MacOS X. I just got bitten by a bug this week where AppleScript uses MacRoman as the default encoding for file IO for compatibility with old scripts. Many Carbon apps on MacOS X still use MacRoman some of the time as well. – Michael Shopsin Apr 22 '16 at 16:09
8

From a more practical point of view, the program to convert between different character sets is called iconv. It can be used on the command line from the OS X (Mac) terminal, as well as in most Linux distributions. The most popular implementation is GNU libiconv, providing support for hundreds of different encodings, including MacRoman and the other Mac encodings (see below). It can be used like so:

iconv -f macroman -t utf-8 infile outfile

iconv can also convert to many specialty and legacy encodings, so it's a worthwhile element of your retrocomputing toolkit. Most programming languages provide similar functionality through an iconv() function of some sort (e.g. php, C).

Also thought I'd add - MacRoman isn't the only Mac encoding, there was one for each region:

MAC MACINTOSH MACROMAN CSMACINTOSH
MACCENTRALEUROPE
MACICELAND
MACCROATIAN
MACROMANIA
MACCYRILLIC
MACUKRAINE
MACGREEK
MACTURKISH
MACHEBREW
MACARABIC
MACTHAI

However, from an English-speaking perspective, MacRoman is the only one commonly encountered nowadays.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.