私は次のテキストを含む文字列を持っています。Golangは文字列で変換しますか?
\xD0\xA4\xD0\xB5\xD0\xB4\xD0\xBE\xD1\x80\xD0\xBE\xD0\xB2
リテラルではありません。文字列では、このような別の文字として保存されます['\','x','D','0','\','x','A','4',...]
この文字列を通常の文字に変換するにはどうすればよいですか?
私は次のテキストを含む文字列を持っています。Golangは文字列で変換しますか?
\xD0\xA4\xD0\xB5\xD0\xB4\xD0\xBE\xD1\x80\xD0\xBE\xD0\xB2
リテラルではありません。文字列では、このような別の文字として保存されます['\','x','D','0','\','x','A','4',...]
この文字列を通常の文字に変換するにはどうすればよいですか?
Goは16進数rune literalsを受け入れます。
だから、通常の文字列として、あなたの入力を使用することができます。
fmt.Println("\xD0\xA4\xD0\xB5\xD0\xB4\xD0\xBE\xD1\x80\xD0\xBE\xD0\xB2")
Федоров
実際の文字列「["\" "x" "D" "0" ...]
」で始める場合は、個々の4バイトシーケンスを文字に変換する必要があります。 一つの汚い方法は次のとおりです。
s := `\xD0\xA4\xD0\xB5\xD0\xB4\xD0\xBE\xD1\x80\xD0\xBE\xD0\xB2`
s2, _ := hex.DecodeString(strings.Replace(s, "\\x", "", -1))
fmt.Printf("%s", s2)
編集した質問に編集。
これは単なる通常のルーンリテラルですが、明らかにそれはあなたが探しているものではありません。希望と実際の出力を含め、いくつかのコードを表示してください。 – Marc
@Marc OPはすでに文字列を提供しています。そのためには、結果は「Федоров」でなければなりません。 – zerkms
https://play.golang.org/p/Xb5sOLFX1vj ---与えられた 's'、'Федоров'を返すべきです。 – zerkms