草庐IT

Java字符编码

全部标签

json - 如何编写将 golang 结构编码为混合类型的 json 数组的 proto3 消息?

我们正在使用proto3并尝试编写一个proto消息来生成一个golang结构,该结构可以被编码为具有特定结构的JSON输出。数据需要有混合类型的嵌套数组(具体来说,这里指定的vCard格式)我们遇到的问题是生成一个混合类型的数组。例如,只是"vcardArray:["vcard",100]即一个包含字符串和int32的数组如果我们这样使用Oneof:messageVcard{oneofvcard{stringname=1;int32value=2;}}我们可以生成如下内容:[{"name":"vcard"},{"int":100}]如果我们这样使用Any:messageVcardAr

go - 如何使用 ReadLine() 获取字符串输入?

我想使用func(b*Reader)ReadLine()(line[]byte,isPrefixbool,errerror)从stdio获取字符串,但我的代码确实工作正常。我倾向于golang。我想知道如何使用ReadLine()从标准输入中获取字符串我知道,fmt.Scan或Scanner可以帮助我,但我想使用ReadLine()packagemainimport("bufio""fmt""io""os""strconv")varsc=bufio.NewScanner(os.Stdin)varrd=bufio.NewReaderSize(os.Stdin,1000000)funcne

xml - 如何在 golang 中编码 CDATA 与使用换行符输入数据相同

我正在尝试整理一个xml文件并分析或进行小的修改,然后将其整理回与之前相同的格式。原始XML的格式如下:我无法编码到相同的输出。我不断得到我已经尝试在解码之前删除xml中的换行符,但我确实需要保留换行符。我为marshal导出的软件非常挑剔,如果换行符不匹配就会给我错误。Playgroundlinkforthecodebelow.packagemainimport("fmt""log""encoding/xml")typestructurestruct{Datastruct{XMLNamexml.Name`xml:"data"`Textstring`xml:",cdata"`}}fun

go - 如何修改字符串中的特定字符

在C语言中,我们将字符串的字符定义为Char。所以我想在Go中更改字符串的字符。ifsum%11!=int(str[strlen-1]){str[strlen-1]=byte(sum%11)//fmt.Printf("%T%T\n",str[strlen-1],byte(sum%11))}else{fmt.Println(sum)}但是会报错“cannotassigntostr[strlen-1]”。str[strlen-1]和byte(sum%11)都是uint8。为什么错了?我应该如何转换? 最佳答案 与C语言不同,Go字符串是

websocket - 将 io 字符串转为 int Atoi 无效参数

我正在尝试用Go语言解析来自WebSockets连接的字符串。我正在实现连接的两端,因此数据格式的规范仅取决于我。由于这是一个简单的应用程序(通常用于学习目的),我想出了ActionIdData,其中ActionId是一个uint8。BackendHandler是WebSocket连接中每个请求的处理程序。平台信息kuba:~$echo{$GOARCH,$GOOS,`6g-V`}amd64linux6gversionrelease.r60.39516代码:const(//SpecifiesActionId'sSabPause=iota)funcBackendHandler(ws*web

json - 未编码的 JSON 不返回任何内容

我有以下结构:typeTranslationstruct{DatastringTranslations[]struct{TranslatedTextstringSourceLanguagestring}}typeInputTextstruct{PlainTextstringTargetLanguagestringValuesurl.Values}还有一个方法可以访问GoogleTranslateAPI并返回我想要UnMarshal的JSON字符串:func(i*InputText)TranslateString()(*Translation,error){iflen(i.PlainTe

io - 程序只打印输入文件的最后一个字符串

我正在尝试创建一个简单的程序来从文本文件中读取行并将它们打印到golang中的控制台。我花了很多时间检查我的代码,但我根本无法理解为什么只有最后一行被打印到屏幕上。谁能告诉我我哪里出错了?这里的一切都应该编译并运行。packagemainimport("bufio""fmt""os")funcReadln(r*bufio.Reader)(string,error){var(isPrefixbool=trueerrerror=nilline,ln[]byte)forisPrefix&&err==nil{line,isPrefix,err=r.ReadLine()ln=append(ln,

regex - 去正则表达式检测反斜杠字符

在go中,如何检测\反斜杠字符本身?str:="IhaveHello\"World\""varvalidID=regexp.MustCompile(`[.!?]`)这就是我检测的方式。!?字符但是varvalidID=regexp.MustCompile(`[\]`)不检测字符串中的反斜杠。如何在正则表达式中表示反斜杠? 最佳答案 即使在字符类中,您也需要对其进行转义;否则它会认为你试图转义]:varvalidID=regexp.MustCompile(`[\\]`)但就此而言,您可以完全摆脱字符类:varvalidID=regex

html - Golang 在 Revel 中将字符串渲染为 html

我需要在Revel中将字符串呈现为html。这该怎么做?我试过:func(cPages)Show(urlstring)revel.Result{bigDig:="Hello,dig!"returnc.Render(bigDig)}然后在View中:{{template"header.html".}}{{.bigDig}}{{template"footer.html".}}但它不起作用。如何做到这一点? 最佳答案 您的var需要在template.HTML类型中。阅读http://golang.org/pkg/html/templat

xml - 接口(interface)和编码/xml Unmarshal

我有一个soap服务,我正在写反对。soapAPI的一部分用于返回查询结果,我希望提供用于解码信封的基本结构,同时允许开发人员填写encoding/xml将解码到的接口(interface)。typeQueryEnvelopestruct{XMLNamexml.Name`xml:"http://schemas.xmlsoap.org/soap/envelope/Envelope"`Body*QueryBody`xml:"http://schemas.xmlsoap.org/soap/envelope/Body"`}typeQueryBodystruct{QueryResult*Quer