如何将图像的int64大小作为字符串?

时间:2018-02-01 20:09:35

标签: go

我有一个存储在资源文件夹中的图像文件。我打开它并且我能够获得它的大小但是当我使用字符串(大小)在字符串中打印它时它显示特殊字符(正方形).I使用reflect.Typeof()检查其类型,它给出int64。如何将其转换为字符串并将字符串打印为字符串????

我使用以下代码:

    imgFile,_ := os.Open("QrImgGA.png")
    fInfo, _ := imgFile.Stat()
    var size int64 = fInfo.Size()
    fmt.Println(string(size))//Prints the size correctl.Eg.,678899

但是当我尝试将它放在json中时,通过执行以下操作显示了一些特殊字符:

    m:=make(map[string]string)
    m["bytes"]=string(size)
    js,_:=json.Marshal(m)
    fmt.Println(string(js))//Gives value as special character

有什么建议吗?或者是否有其他方法来查找图像的大小???

1 个答案:

答案 0 :(得分:1)

  

Package strconv

import "strconv"
     

func FormatInt

     

func FormatInt(i int64, base int) string

     

FormatInt返回给定基数中i的字符串表示形式,   for 2< = base< = 36.结果使用小写字母'a'到'z'   对于数字值> = 10。

例如,

package main

import (
    "fmt"
    "strconv"
)

func main() {
    size := int64(678899)
    str := strconv.FormatInt(size, 10)
    fmt.Println(str)
}

输出:

678899