如何用star micronics打印€符号?

Posted

技术标签:

【中文标题】如何用star micronics打印€符号?【英文标题】:how to print € symbol with star micronics? 【发布时间】:2018-05-17 15:46:22 【问题描述】:

我有star micronics,我在我的应用程序中实现了SDK,但我无法打印€符号

[mutableData appendData:[@"\x1b\x1d\x74\x04 123" dataUsingEncoding:NSMacOSRomanStringEncoding allowLossyConversion:YES]];

但打印其他字符

也可以试试

 [mutableData appendData:[@"\xE2\x82\xac\r\n 123" dataUsingEncoding: NSUTF8StringEncoding allowLossyConversion:YES]];

有人知道打印它的代码是什么吗?

【问题讨论】:

【参考方案1】:

这样就可以了:

builder 是您的 ISCBBuilder 变量。

builder.append(.CP858)
builder.appendByte(0xd5)

【讨论】:

【参考方案2】:

Objective-C 中的 NSString 内部编码为 UTF-16,the euro symbol has code 0x20AC。所以首先你需要像这样定义你的字符串:

    NSString *euroSymbol1 = @"\u20AC";
    NSString *euroSymbol2 = @"€"; // same as euroSymbol1
    if ([euroSymbol1 isEqualToString:euroSymbol2])
        NSLog(@"equivalent"); // this is printed
    NSString *price = [NSString stringWithFormat:@"%@ %.2f", euroSymbol1, 123.45];
    NSLog(@"%@", price); // prints: "€ 123.45"

请注意,如果您只写“€”,编译器很聪明地会将您的源代码编码重新编码为 NSString 编码,因此阅读起来很简单。

那么你需要了解你的打印机支持什么编码。如果它支持 Unicode,你应该先尝试一下,因为它肯定包含欧元符号。请注意,整个mutableData 必须采用相同的编码,因此如果您在此之前附加了其他字符串,则需要确保它们都使用相同的编码(例如 NSUTF8StringEncoding)。

如果您需要使用 NSMacOSRomanStringEncoding,则可能不支持欧元符号 (see this reply),尽管您仍然可以在代码 219 下看到here in the table。

【讨论】:

以上是关于如何用star micronics打印€符号?的主要内容,如果未能解决你的问题,请参考以下文章

如何用MFC打印指定excel

如何用3D Slicer实现模型3D打印 / 查查362

如何用python画圣诞树(附圣诞树代码)

如何在Python中将符号如●打印到文件中

如何用python处理打印对话框

如何用标签打印软件制作学生证