iphone - What encoding do strings found in the Mach-O __DATA segment, __cfstring section use? -
i'm wondering how read strings specific section of mach-o binary. (this binary ios.)
i'm curious strings found in __data segment, __cfstring section. these sections appear contain arrays of simple structures:
nsconstantstring { class class; const char *string; int length; } the question comes down to: how decide encoding of string?
it's described in source of cfstring available here. it's either in ascii or utf16 (in processor endian-ness.) see source code of clang, available here. generateconstantstring. constant strings generated this piece of code, getaddrofconstantcfstring. source code says constant cfstring of format
struct __builtin_cfstring { const int *isa; // point __cfconstantstringclassreference int flags; const char *str; long length; }; (at least on os x, i'm not sure ios.) flags tells whether it's ascii or utf16.
Comments
Post a Comment