Escape unicode in golang

huangapple go评论82阅读模式
英文:

Escape unicode in golang

问题

我正在尝试读取一个包含Unicode字符的文件,并将其显示为普通字符串:

example.txt

processSpecification=Sp\u00e9cification du processus

materialDomain=Domaine mat\u00e9riel

期望结果:

processSpecification=Spécification du processus

materialDomain=Domaine matériel

实际结果:

processSpecification=Sp\u00e9cification du processus

materialDomain=Domaine mat\u00e9riel

我在Python中找到了如何做到这一点的方法:
使用以下代码可以在5分钟内完成:

for decodedLine in open('Z:\m1msgcatalog\PLMVocabulary_ds6w_fr.properties', 'r', encoding='unicode-escape'):
    print(decodedLine)

但是我不知道如何在Go语言中实现这个。

英文:

I'm trying to read a file containing unicode and display it as normal string:

example.txt

processSpecification=Sp\u00e9cification du processus

materialDomain=Domaine mat\u00e9riel

Expected result:

processSpecification=Spécification du processus

materialDomain=Domaine matériel

Actual result:

processSpecification=Sp\u00e9cification du processus

materialDomain=Domaine mat\u00e9riel

I foundhow to do this in 5 min in python :
for decodedLine in open('Z:\m1msgcatalog\PLMVocabulary_ds6w_fr.properties', 'r', encoding='unicode-escape'):
print(decodedLine)

but I don't get how to do this in golang

答案1

得分: 4

或许你可以使用strconv.Unquote函数?(但要小心...它不仅仅替换\u序列。)

package main

import (
	"fmt"
	"strconv"
)

func main() {
	input := `processSpecification=Sp\u00e9cification du processus`
	fmt.Println(input)
	fmt.Println(strconv.Unquote(`"` + input + `"`))
}

// 输出:
// processSpecification=Sp\u00e9cification du processus
// processSpecification=Spécification du processus

https://play.golang.org/p/Uq4vIdNyya

英文:

Perhaps you can use strconv.Unquote? (But be careful... that does more than just replace \u sequences.)

package main

import (
	"fmt"
	"strconv"
)

func main() {
	input := `processSpecification=Sp\u00e9cification du processus`
	fmt.Println(input)
	fmt.Println(strconv.Unquote("\"" + input + "\""))
}

// Output:
// processSpecification=Sp\u00e9cification du processus
// processSpecification=Spécification du processus

https://play.golang.org/p/Uq4vIdNyya

huangapple
  • 本文由 发表于 2017年6月8日 00:32:10
  • 转载请务必保留本文链接:https://go.coder-hub.com/44418260.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定