我可以将Byte()转换为字符串吗?

时间:2015-05-31 22:49:42

标签: vb.net

我需要一个当前代码的解决方案,我正在尝试将文本保存到文本框中的文件,并为其添加一个字符串。 我的以下代码是:

 Dim fs As FileStream = File.Create(fileName.Text)

    ' Add text to the file. 

    Dim info As Byte() = New UTF8Encoding(True).GetBytes(CodeBox.Text)

    Dim Code = "-- Made with LUA Creator by Sam v1.9
    " + info
    fs.Write(Code, 0, Code.Length)
    fs.Close()

    MsgBox("File saved as " + fileName.Text)

但Visual Studio说我不能使用“+”运算符和字符串&字节数:

错误BC30452运算符'+'未定义类型'String'和'Byte()'。

有人有解决方案吗? 对不起,如果这是重复的,我在这里找不到它所以我只是问自己。谢谢。

1 个答案:

答案 0 :(得分:1)

“我可以将字节()转换为字符串吗?”简短的回答是肯定的,但这看起来并不像你真正想做的那样。

您正在尝试将StringByte数组连接起来,Dim Code不知道最终结果应该是什么。

FileStream.Write()需要Byte数组,因此您可以尝试一些事情

  1. 将TextBox中的字符串与“标题”信息连接起来,然后将其转换为Byte数组。

    Dim fs As FileStream = File.Create(fileName.Text)
    
    ' Add text to the file. 
    Dim Code As Byte() = New UTF8Encoding(true).GetBytes("-- Made with LUA Creator by Sam v1.9 " & CodeBox.Text)
    fs.Write(Code, 0, Code.Length)
    fs.Close()
    
  2. 编写“标题”信息,然后编写文本框信息

    Dim fs As FileStream = File.Create(fileName.Text)
    
    ' Add text to the file. 
    Dim header As Byte() = New UTF8Encoding(true).GetBytes("-- Made with LUA Creator by Sam v1.9 ")
    Dim info As Byte() = New UTF8Encoding(True).GetBytes(CodeBox.Text)
    fs.Write(header, 0, header.Length)
    fs.Write(info, 0, info.Length)
    fs.Close()