This is a little convoluted and breaks (albeit temporarily) the idea of a stringref containing an actual string... It might be better to implement a ReadTranslatedStringRef() method which does the ISO<->MAC conversion whilst its building the string (i.e. if MCtranslatechars is true, then do the conversion, else don't).