代码之家  ›  专栏  ›  技术社区  ›  Mzia

为什么解组后得到的字节数不同,但编组后得到的结果相同?

  •  -2
  • Mzia  · 技术社区  · 6 年前

    我读geojson的时候

      json, err := ioutil.ReadFile(file)
    

    然后我打印结果并看到这个

    [123 32 34 116 121 112 101 34 58 32 34 70 101 97 116 117 114 101 67 111 108 108 101 99 116 105 111 110 34 44 10 32 32 32 32 34 102 101 97 116 117 114 101 115 34 58 32 91 10 32 32 32 32 32 32 123 32 34 116 121 112 101 34 58 32 34 70 101 97 116 117 114 101 34 44 10 32 32 32 32 32 32 32 34 103 101 111 109 101 116 114 121 34 58 32 123 34 116 121 112 101 34 58 32 34 80 111 105 110 116 34 44 32 34 99 111 114 100 105 110 97 116 101 115 34 58 32 91 49 48 50 46 48 44 32 48 46 53 93 125 44 10 32 32 32 32 32 32 32 32 34 112 114 111 112 101 114 116 105 101 115 34 58 32 123 34 112 114 111 112 48 34 58 32 34 118 97 108 117 101 48 34 125 10 32 32 32 32 32 32 32 32 125 44 10 32 32 32 32 32 32 123 32 34 116 121 112 101 34 58 32 34 70 101 97 116 117 114 101 34 44 10 32 32 32 32 32 32 34 103 101 111 109 101 116 114 121 34 58 32 123 10 32 32 32 32 32 32 32 32 32 32 34 116 121 112 101 34 58 32 34 76 105 110 101 83 116 114 105 110 103 34 44 10 32 32 32 32 32 32 32 32 32 32 34 99 111 114 100 105 110 97 116 101 115 34 58 32 91 10 32 32 32 32 32 32 32 32 32 32 32 32 91 49 48 50 46 48 44 32 48 46 48 93 44 32 91 49 48 51 46 48 44 32 49 46 48 93 44 32 91 49 48 52 46 48 44 32 48 46 48 93 44 32 91 49 48 53 46 48 44 32 49 46 48 93 10 32 32 32 32 32 32 32 32 32 32 32 32 93 10 32 32 32 32 32 32 32 32 32 32 125 44 10 32 32 32 32 32 32 34 112 114 111 112 101 114 116 105 101 115 34 58 32 123 10 32 32 32 32 32 32 32 32 32 32 34 112 114 111 112 48 34 58 32 34 118 97 108 117 101 48 34 44 10 32 32 32 32 32 32 32 32 32 32 34 112 114 111 112 49 34 58 32 48 46 48 10 32 32 32 32 32 32 32 32 32 32 125 10 32 32 32 32 32 32 32 32 125 44 10 32 32 32 32 32 32 123 32 34 116 121 112 101 34 58 32 34 70 101 97 116 117 114 101 34 44 10 32 32 32 32 32 32 32 32 32 34 103 101 111 109 101 116 114 121 34 58 32 123 10 32 32 32 32 32 32 32 32 32 32 32 34 116 121 112 101 34 58 32 34 80 111 108 121 103 111 110 34 44 10 32 32 32 32 32 32 32 32 32 32 32 34 99 111 111 114 100 105 110 97 116 101 115 34 58 32 91 10 32 32 32 32 32 32 32 32 32 32 32 32 91 32 91 49 48 48 46 48 44 32 48 46 48 93 44 32 91 49 48 49 46 48 44 32 48 46 48 93 44 32 91 49 48 49 46 48 44 32 49 46 48 93 44 10 32 32 32 32 32 32 32 32 32 32 32 32 91 49 48 48 46 48 44 32 49 46 48 93 44 32 91 49 48 48 46 48 44 32 48 46 48 93 32 93 10 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 93 10 32 32 32 32 32 32 32 32 32 32 125 44 10 32 32 32 32 32 32 32 32 32 34 112 114 111 112 101 114 116 105 101 115 34 58 32 123 10 32 32 32 32 32 32 32 32 32 32 34 112 114 112 48 34 58 32 34 118 97 108 117 101 48 34 44 10 32 32 32 32 32 32 32 32 34 112 111 112 49 34 58 32 123 34 116 104 105 115 34 58 32 34 116 104 97 116 34 125 10 32 32 32 32 32 32 32 32 32 32 32 125 10 32 32 32 32 32 32 32 32 32 125 10 32 32 32 32 32 32 32 93 10 32 32 32 32 32 125]

    然后我把它拆开再打印,我得到了这个

    {特征集合[{特征映射[prop0:value0]{点[102] 0.5]}{Feature map[prop0:value0 prop1:0]{LineString[[102 0][103 1][104 0][105 1]}{Feature map[prop0:value0 prop1:map[this:that]] {多边形[[100 0][101 0][101 1][100 1][100 0]]}}

    然后我把它整理好拿到了这个

    [123 34 116 121 112 101 34 58 34 70 101 97 116 117 101 67 111 108 108 101 99 116 105 111 110 34 44 34 102 101 97 116 117 114 101 115 34 58 91 123 34 116 121 112 101 34 58 34 70 101 97 116 117 114 101 34 44 34 112 114 111 112 101 114 116 105 101 115 34 58 123 34 112 114 111 112 48 34 58 34 118 97 108 117 101 48 34 125 44 34 103 101 111 109 101 116 114 121 34 58 123 34 116 121 112 101 34 58 34 80 111 105 110 116 34 44 34 99 111 111 114 100 105 110 97 116 101 115 34 58 91 49 48 50 44 48 46 53 93 125 44 123 34 116 121 112 101 34 58 34 70 101 97 116 117 114 101 34 44 112 114 111 112 101 114 116 105 115 34 58 123 34 112 114 111 112 48 34 58 34 118 97 108 117 101 48 34 44 34 112 114 111 112 49 34 58 48 125 44 34 103 101 111 109 101 116 114 121 34 58 123 34 116 121 112 101 34 58 34 76 105 110 101 83 116 114 105 110 103 34 44 34 99 111 114 100 105 110 97 116 101 115 34 58 91 91 49 48 50 44 48 93 44 91 49 48 51 44 49 93 44 91 49 48 52 44 48 93 44 91 49 48 53 44 49 93 125 44 123 34 116 121 112 101 34 58 34 70 101 97 116 117 114 101 34 44 34 112 114 111 112 101 114 116 105 101 115 34 58 123 34 112 114 111 112 48 34 58 34 118 97 108 117 101 48 34 44 34 112 114 111 112 49 34 58 123 34 116 104 105 115 34 58 34 116 104 97 116 34 125 125 44 34 103 101 111 109 101 116 114 121 34 58 123 34 116 121 112 101 34 58 34 80 111 108 121 103 111 110 34 44 34 99 111 111 114 100 105 110 97 116 101 115 34 58 91 91 91 49 48 48 44 48 93 44 91 49 48 49 44 48 93 44 91 49 48 49 44 49 93 44 91 49 48 48 44 49 93 44 91 49 48 48 44 48 93 93 93 125 125 93 125]

    拆封后,我得到了同样的结果

    {FeatureCollection[{Feature map[prop0:value0]{Point[102 0.5]} {要素映射[prop0:value0 prop1:0]{线字符串[[102 0][103 1][104 0][105 1]}}{要素映射[属性0:值0:属性1:映射[这个:那个]]{多边形 [[[100 0] [101 0] [101 1] [100 1] [100 0]]]}}]}

    为什么会这样?为什么我有不同的字节数,为什么在解组这些不同的字节后,我得到了相同的结果?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Florian    6 年前

    原始文件包含许多空格和新行,您可以在输出中看到它们( 32 =空间)。 json.Unmarshal() 将删除所有这些空间和 json.Marshal() 不会再添加它们了。如果您想将第二个输出格式化,可以使用 json.MarshalIndent() .