第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

GAE數據存儲查看器中的utf8錯誤(運行時)

GAE數據存儲查看器中的utf8錯誤(運行時)

Go
慕斯709654 2021-05-05 14:13:55
我正在GAE中使用Go運行時編寫Webapp。我正在保存一個包含字符串的結構,這是使用MD5對另一個字符串的字節(jié)進行哈希處理,然后將哈希和字節(jié)編碼為十六進制字符串的結果。這是一些代碼:foo := "some string"hashedFoo := md5.New()hashedFoo.Write([]byte(foo))encodedFoo := hex.EncodeToString(hashedFoo.Sum()) // this is what I'm assigning to my struct, and then saving into the Datastore這樣可以很好地工作,在保存或檢索存儲的實體(通過代碼)時不會有任何抱怨,但是,在加載數據存儲查看器時,出現類似“ Error fetching entities: Property Foo is corrupt in the datastore”之類的錯誤,然后回溯中包含一堆內部引用GAE文件,然后輸入:“ UnicodeDecodeError: 'utf8' codec can't decode byte 0x85 in position 1: unexpected code byte”。在本地開發(fā)數據存儲查看器中不會發(fā)生這種情況,只有在實時生產環(huán)境中才會發(fā)生這種情況。所以我的問題是:hex.EncodeToString()使用什么編碼?有沒有辦法指定utf-8輸出?這是GAE錯誤,還是編碼錯誤?
查看完整描述

1 回答

?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

問題是流氓線hashedFoo.Sum()直接投射到字符串中并將其分配給encodedFoo。這產生了一些字符串,這些字符串的字符無法被utf-8識別。

hex.EncodeToString() 工作良好。

我想這對我來說是一個使我的代碼保持整潔的教訓:)


查看完整回答
反對 回復 2021-05-10
  • 1 回答
  • 0 關注
  • 223 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號