繁体   English   中英

如何使用UTF-8字符串打印NSData

[英]How to print NSData with UTF-8 string

我有一台Star Micronics SM-S220i蓝牙打印机。 我用它来打印我的iPad应用程序的收据。 我不能像åäö那样使用UTF-8字符来工作。

这是我的代码:

NSMutableData *commands = [[NSMutableData alloc] init];

[commands appendData:[@"\nåäö\n" dataUsingEncoding:NSWindowsCP1252StringEncoding]];

使用此编码时,它会在DOS字符中打印åäö。

如果转换为CP1292的“å”打印为“σ”,则打印机可能需要CP437编码中的数据。 CP437可用作kCFStringEncodingDOSLatinUS ,可以转换为NSString编码:

NSMutableData *commands = [[NSMutableData alloc] init];
NSStringEncoding cp437 = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingDOSLatinUS);
[commands appendData:[@"\nåäö\n" dataUsingEncoding:cp437]];

尝试使用不同的编码,例如:

[commands appendData:[@"\nåäö\n" dataUsingEncoding:NSUTF8StringEncoding]];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM