如何对非ascii字符串和非整数进行编码?

时间:2015-05-14 16:58:19

标签: encoding bencoding

根据bencoding specification

  

编码的字符串编码如下:<string length encoded in base ten ASCII>:<string data>key:value   请注意,没有常量的开始分隔符,也没有结束分隔符。

     

示例:4:垃圾邮件代表字符串“spam”
  示例:0:表示空字符串“”

     

整数编码如下: <integer encoded in base ten ASCII> e   最初的 i 和尾随 e 是开始和结束分隔符。您可以使用负数,例如 i -3 e 。只应使用有效数字,不能用零填充整数。例如 04 e 。但是, i 0 e 有效。

     

示例: i 3 e 表示整数“3”

我的问题

问题1 :我应该如何使用非ascii字符编码字符串?例如:mûrierdie höhe Zeit我应该使用UTF-8编码或另一个字符串将此类字符串转换为字节序列吗?它如何应用于规范?

问题2 :如何对非整数进行编码,例如1.0002910-0.0049172

1 个答案:

答案 0 :(得分:2)

  1. 根据规范,“所有字符串值均为UTF-8编码。”
  2. 规范未涵盖;显然不需要。