将带有变音符号的NSString转换为const char *

Ben*_*riu 2 encoding diacritics char nsstring

我花了几个小时来解决这个问题,却一无所获。抱歉,如果答案在Internet上的某个地方,我真的找不到。

我有一个NSString *header = @"ästrç";或其他来自德语,瑞典语等语言的变音符号。

我需要将其NSString转换为:

const char* cString = [header cStringUsingEncoding: NSASCIIStringEncoding];
Run Code Online (Sandbox Code Playgroud)

注意:NSASCIIStringEncodingNSMacOSRomanStringEncoding不起作用。

我也试过这个:

const char *cString = [header UTF8String];
Run Code Online (Sandbox Code Playgroud)

不工作

有谁可以帮助我吗?这很奇怪。

编辑:

“不工作”是指如果我有这些字符: 输入项

它将输出以下内容: 输出量

我不在乎NSLog。我需要const char *才能用PDF编写方法:

HPDF_Page_TextOut  (HPDF_Page    page, HPDF_REAL    xpos, HPDF_REAL    ypos, const char  *text)
Run Code Online (Sandbox Code Playgroud)

Kri*_*izz 5

const char *cString = [header UTF8String]可以使用,但是您可能正在使用进行测试 NSLog("%s, cString);

NSLog将不起作用,因为%s期望的是ASCII字符串而不是UTF-8

详细信息:将NSString转换为const char *

  • @benyboariu,您将必须了解HPDF_Page_TextOut函数接受的编码方式。 (2认同)