在Java中,我想打印一个带有String作为输入的标签:
String command
= "N\n"
+ "A50,5,0,1,2,2,N,\"" + name + "\"\
+ "P1\n";
但是当输入(name
)具有双引号字符("
)时,它是空白的并且不打印任何内容。我尝试过使用替换功能:
name.replace('"', '\u0022');
但它不起作用。我想在标签上打印双引号,我该怎么做?
答案 0 :(得分:1)
几点:
替换方法在替换后返回字符串,所以你应该期望类似:
command = command.replace...
quote具有特殊含义,因此需要在Java中进行转义。您需要以下内容:
name = name.replace("\"", "");
String command
= "N\n"
+ "A50,5,0,1,2,2,N,\"" + name + "\""
+ "P1\n";
System.out.println(command);
答案 1 :(得分:0)
发送" EPL字符串的文本字段中的字符使EPL代码认为它是您尝试打印的字符串的结尾。
所以,如果你想发送(和打印)"你好"你必须在每个"之前加一个反斜杠。字符并发送\" hello \"
您还必须为反斜杠执行此操作。
因此,您对打印机的输出(EPL)将有引号开始和结束字符串,并且\"在字符串中打印引号字符:
A30,210,0,4,1,1,N," \" hello \"" \ n
还记得你必须转义为字符来构建一个c#字符串,所以在c#中它看起来像这样: outputEPLStr + =" A30,210,0,4,1,1,N, \" \\" hello \\" \" \ n&#34 ;;
[包含6个转义字符]