#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
#include <string>

void convertToText(const std::string& inputFileName, const std::string& outputFileName) {
    std::ifstream inputFile(inputFileName, std::ios::binary);
    std::ofstream outputFile(outputFileName);

    if (!inputFile ||!outputFile) {
        std::cerr << "无法打开文件。" << std::endl;
        return;
    }

    char buffer;
    while (inputFile.read(&buffer, 1)) {
        outputFile << std::hex << std::uppercase << static_cast<int>(static_cast<unsigned char>(buffer)) << " ";
    }

    inputFile.close();
    outputFile.close();
}

void convertBack(const std::string& inputFileName, const std::string& outputFileName) {
    std::ifstream inputFile(inputFileName);
    std::ofstream outputFile(outputFileName, std::ios::binary);

    if (!inputFile ||!outputFile) {
        std::cerr << "无法打开文件。" << std::endl;
        return;
    }

    std::string line;
    while (std::getline(inputFile, line)) {
        std::istringstream iss(line);
        int value;
        while (iss >> std::hex >> value) {
            outputFile.put(static_cast<char>(value));
        }
    }

    inputFile.close();
    outputFile.close();
}

int main() {
	std::cout<<"文件转换器1.0\n";
	std::cout<<"选择模式:1:'.*'->'.txt';2:'.txt'->'.*'\n选择:";
	int num;
	std::cin>>num;
	if(num==1){
		std::string before;
		std::cout<<"输入文件名字:";
		std::cin>>before;
		convertToText(before,"TEXT.TXT");
		std::cout << "转换完成。" << std::endl;
	}
	if(num==2){
		std::string before;
		std::cout<<"输入文件名字:";
		std::cin>>before;
		convertBack("TEXT.TXT",before);
		std::cout << "转换完成。" << std::endl;
	}
    	

    return 0;
}

可以先把zip文件转为txt后上传到网上。需要时copy txt文件,转换回zip就可以了。

如下是HMCL学习小助手的txt:

4D 5A 90 0 3 0 0 0 4 0 0 0 FF FF 0 0 B8 0 0 0 0 0 0 0 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 1 0 0 E 1F BA E 0 B4 9 CD 21 B8 1 4C CD 21 54 68 69 73 20 70 72 6F 67 72 61 6D 20 63 61 6E 6E 6F 74 20 62 65 20 72 75 6E 20 69 6E 20 44 4F 53 20 6D 6F 64 65 2E D D A 24 0 0 0 0 0 0 0 8 6D 86 EB 4C C E8 B8 4C C E8 B8 4C C E8 B8 F8 90 19 B8 46 C E8 B8 F8 90 1B B8 37 C E8 B8 F8 90 1A B8 54 C E8 B8 1E 64 EC B9 5D C E8 B8 1E 64 EB B9 5E C E8 B8 1E 64 ED B9 65 C E8 B8 45 74 7B B8 41 C E8 B8 4C C E9 B8 25 C E8 B8 E9 65 E1 B9 49 C E8 B8 E9 65 E8 B9 4D C E8 B8 E9 65 17 B8 4D C E8 B8 4C C 7F B8 4D C E8 B8 E9 65 EA B9 4D C E8 B8 52 69 63 68 4C C E8 B8 0 0 0 0 0 0 0 0 50 45 0 0 4C 1 5 0 93 52 66 63 0 0 0 0 0 0 0 0 E0 0 2 1 B 1 E 10 0 E4 0 0 0 A8 0 0 0 0 0 0 ED 37 0 0 0 10 0 0 0 0 1 0 0 0 40 0 0 10 0 0 0 2 0 0 5 0 1 0 0 0 0 0 5 0 1 0 0 0 0 0 0 D0 1 0 0 4 0 0 0 0 0 0 2 0 40 81 0 0 10 0 0 10 0 0 0 0 10 0 0 10 0 0 0 0 0 0 10 0 0 0 50 61 1 0 88 0 0 0 D8 61 1 0 78 0 0 0 0 90 1 0 58 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 B0 1 0 84 10 0 0 90 53 1 0 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 54 1 0 40 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 5C 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2E 74 65 78 74 0 0 0 2B E3 0 0 0 10 0 0 0 E4 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 0 0 60 2E 72 64 61 74 61 0 0 EA 69 0 0 0 0 1 0 0 6A 0 0 0 E8 0 0 0 0 0 0 0 0

这里只写了一部分,因为源码实在是太长了......(甚至比源文件还要大)。

我也尝试过压缩,可是每次不是生成的文件用不了就是越压缩越大。

有大佬能帮忙看看吗......