在目标c中,xmlchar数据类型如何工作?我似乎无法找到任何API文档。具体来说,我的声明如下:
const xmlChar **attributes
我是通过说它是一个客观的c数据类型还是特定于cocoa或只是C来正确分类?
答案 0 :(得分:6)
您可以在libxml2库中的xmlChar
中看到声明xmlString.h
:
typedef unsigned char xmlChar;
现在进行xmlChar to NSString
转化
xmlChar *str = (unsigned char *)"I am to be converted";
NSString *convertedString = [NSString stringWithUTF8String:(const char *)str];
来自NSString to xmlChar
转化;
NSString *str = @"I am to be converted";
xmlChar *convertedString = (xmlChar *)[str UTF8String];
答案 1 :(得分:2)
我不认为Objective-C有任何类型的xmlChar数据类型。在Cocoa中,您通常会使用NSXMLParser
,它只使用NSString
。你是否想过libxml2?在这种情况下,它只是定义为表示UTF-8八位字节的unsigned char
(如果您尝试将其强制转换为char
,则帮助编译器发出警告)。您通常可以将xmlChar *
视为常规char *
,只要您记住它是UTF-8编码而不是ASCII(因此,截断它可能会产生无效字符,比较值以排序除非您实现区域设置感知比较等,否则它们将无法工作。