【问题标题】:How do you put binary data values into turtle?如何将二进制数据值放入海龟?
【发布时间】:2015-10-15 11:59:09
【问题描述】:

我想使用加密数据作为属性的值。我用 Turtle 做了这样的事情:

:s :p """<85>^A^L^C<88>-[Ä÷¯¨ç^A^Gý^]^\ä²tðáê½?­^Q<9f>6 <8b>ÏÂ43àñoú]:ëÜ^YÕþá>:³Æ÷ýé<8c>%¨6±<8b>^]oI^^^S"<96>^CiÓ­<95>Ë´Ú^X^D"""^^^xsd:base64Binary .

当我用 Jena riot 检查文件时得到了"..illegal escape sequence value: ä (0xE4)"

如何正确地将二进制数据放入 Turtle 中的值中?

【问题讨论】:

    标签: rdf jena turtle-rdf


    【解决方案1】:

    您的问题是字符串不是 Base64 编码的。 Base64 字符串只包含 ASCII 字符。

    你的字符串会这样编码:

    PDg1Pl5BXkxeQzw4OD4tW8OEw7fCr8Kow6deQV5Hw71eXV5cw6TCsnTDsMOhw6rCvT/CrV5RPDlmPjYgPDhiPsOPw4I0M8Ogw7Fvw7pdOsOrw5xeWcOVw77DoT46wrPDhsO3w73DqTw4Yz4lwqg2wrE8OGI+Xl1vSV5eXlMiPDk2Pl5DacOTwq08OTU+w4vCtMOaXlheRA==

    https://en.wikipedia.org/wiki/Base64

    【讨论】:

    • 感谢您的回复。我试过 :s :p """^A^L^C-[Ä÷¯¨ç^A^Gý^]^\ä²tðáê½?^Q6 ÏÂ43àñoú] :ëÜ^YÕþá>:³Æ÷ýe%¨6±^]oI^^^S"^CiÓË´Ú^X^D""" 得到同样的错误. 那么问题来了,我该如何表示这个二进制数据呢?
    • 您在评论中粘贴了相同的非 ASCII 字符串。 You should do something like: :s :p """PDg1Pl5BXkxeQzw4OD4tW8OEw7fCr8Kow6deQV5Hw71eXV5cw6TCsnTDsMOhw6rCvT/CrV5RPDlmPjYgPDhiPsOPw4I0M8Ogw7Fvw7pdOsOrw5xeWcOVw77DoT46wrPDhsO3w73DqTw4Yz4lwqg2wrE8OGI+Xl1vSV5eXlMiPDk2Pl5DacOTwq08OTU+w4vCtMOaXlheRA==""" instead.
    【解决方案2】:

    在我的朋友向我解释清楚之后,我意识到答案是将我的二进制数据转换为 base64。我使用 OpenSSL 如下:

    cat 二进制数据.bin | openssl enc -base64

    【讨论】:

    • 这与我的回答有何不同?
    • 对不起 - 你完全正确。我刚刚在我用来进行转换的工具上添加了一条评论。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-08
    • 1970-01-01
    • 2017-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多