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

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

如何使用 Go 和 Python 處理 YAML 中的十六進制值?

如何使用 Go 和 Python 處理 YAML 中的十六進制值?

大話西游666 2021-11-02 15:12:32
我有這個簡單的以下程序:package mainimport (    "fmt"    yaml "gopkg.in/yaml.v2")type Test struct {    SomeStringWithQuotes string `yaml:"someStringWithQuotes"`    SomeString           string `yaml:"someString"`    SomeHexValue         string `yaml:"someHexValue"`}func main() {    t := Test{        SomeStringWithQuotes: "\"Hello World\"",        SomeString:           "Hello World",        SomeHexValue:         "0xDef9C64256DeE61ebf5B212238df11C7E532e3B7",    }    yamlBytes, _ := yaml.Marshal(t)    fmt.Print(string(yamlBytes))}這將打印以下內容,并明顯表明 Go 決定何時引用字符串:someStringWithQuotes: '"Hello World"'someString: Hello WorldsomeHexValue: 0xDef9C64256DeE61ebf5B212238df11C7E532e3B7但是,當我嘗試使用以下 Python 腳本讀取此 YAML 時:import yamlyaml_str = """someStringWithQuotes: '"Hello World"'someString: Hello WorldsomeHexValue: 0xDef9C64256DeE61ebf5B212238df11C7E532e3B7"""print(yaml.load(yaml_str))它將十六進制值解析為整數(shù)。如果我現(xiàn)在使用以下代碼序列化回 YAML:import yamlimport sysyaml_str = """someStringWithQuotes: '"Hello World"'someString: Hello WorldsomeHexValue: 0xDef9C64256DeE61ebf5B212238df11C7E532e3B7"""print(yaml.dump(yaml.load(yaml_str)))我得到:someHexValue: 1272966107484048169783147972546098614451903325111someString: Hello WorldsomeStringWithQuotes: '"Hello World"'我怎樣才能最好地確保保留十六進制格式?不幸的是,我個人對 Go 端的代碼沒有任何影響(但對于嘗試做類似事情的其他人來說,Go 端解決方案仍然受歡迎)。
查看完整描述

2 回答

?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

Go 將該十六進制字符串解釋為一個數(shù)字。

someHexValue: 0xDef9C64256DeE61ebf5B212238df11C7E532e3B7

如果那是它生成的 yaml,那么 python 將其視為數(shù)字是正確的。

在 python 中對此的創(chuàng)可貼是使用以下命令將其轉換回十六進制

hex(1272966107484048169783147972546098614451903325111)

這是將該十六進制視為數(shù)字的yaml 規(guī)范


查看完整回答
反對 回復 2021-11-02
  • 2 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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