我正在go
中编码可执行文件,并尝试在javascript
中对其进行解码。
在string
中对已编码的javascript
进行解码不会得到匹配的文件。我能够对"this is a test string"
这样的字符串进行编码,并在javascript
中对其进行解码,并且效果很好。但是,当我使用可执行应用程序并执行相同的操作时,解码后的文件会比编码前的文件大。
我在做什么错?谢谢!
这是我正在使用的测试可执行文件。它是用c ++编写的,用g++
编译并使用输出。
#include <iostream>
int main(void) {
char test1[] = "hello";
std::cout << "test1: " << test1 << std::endl;
char test2[] = "world";
std::cout << "test2: " << test2 << std::endl;
char test3[] = "foobar";
std::cout << "test3: " << test3 << std::endl;
return 0;
}
这是我用来将文件转换为go
的{{1}}应用程序。
bytes
这是我尝试将文件解码并保存为javascript的方式。
package main
import (
"fmt"
"github.com/atotto/clipboard"
"io/ioutil"
)
func main() {
bytes,err := ioutil.ReadFile("/path/to/file/a.out")
if err != nil {
fmt.Println(err)
}
enc := make([]byte,base64.RawStdEncoding.EncodedLen(len(bytes)))
base64.RawStdEncoding.Encode(enc,bytes)
fmt.Println("byte size: ",len(bytes))
fmt.Println("encoded byte size: ",len(enc))
clipboard.WriteAll(string(enc))
}