【问题标题】:How can I keep text formatted using a QR code?如何使用 QR 码保持文本格式?
【发布时间】:2012-11-27 14:08:13
【问题描述】:

我想用二维码来传输yaml。 当扫描仪读取代码时,无论如何都要保持文本格式? 我在哪里可以阅读有关为 qr 代码实现自定义格式的信息?

【问题讨论】:

    标签: yaml qr-code information-retrieval information-extraction


    【解决方案1】:

    只需在文本有效负载中包含换行符、制表符和空格,如果这就是您的意思。在显示有效负载时,您不能强迫读者尊重所有这些。但是您可以将其全部包含在内。

    【讨论】:

    • 肖恩和特伦斯,谢谢回答这个问题。
    【解决方案2】:

    在将文本编码为二维码之前,您需要对文本进行 URL 编码。

    就像空格符号被编码为%20一样,换行符通常被编码为%0A

    详情请见http://en.wikipedia.org/wiki/Percent-encoding

    一般来说,JavaScript 函数 escape() 就足够了,尽管您可能希望根据需要查看 encodeURI()encodeURIComponent() - 请参阅 http://www.javascripter.net/faq/escape.htm 以获得关于差异的详细讨论。

    【讨论】:

    • QR 码没有什么需要 URL 编码的。如果你的意思是编码一个空格字符,你只需编码一个空格;编码“%20”会将“%20”放入您的二维码中。如果您是指将内容传递给在线编码器,该编码器接受 URL 中的内容 - 是的,您会转义内容,但这与 QR 码本身无关。
    • 确实 - QR 码很乐意将任何 UTF 字符放入代码中。但是,如果您正在读取数据并且 \n (或其他)被忽略,那么双重编码是一个潜在的解决方案。只要你解码正确。
    • 如果您事先对其进行了 URL 编码。例如,如果您想使用 USSD 命令,则必须对哈希进行双重编码。见code.google.com/p/zxing/issues/detail?id=962
    • 当然可以,但您必须有专门的读者才能知道这一点。我认为 OP 是在谈论他们无法控制的读者,否则让他们的读者做他们喜欢做的事就不会有问题。对 YAML 进行 URL 编码将使其不再是 YAML。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-29
    相关资源
    最近更新 更多