我想从文件中提取字符数据,它必须可以直接转换为4字节的int。有谁知道如何将1字节的char转换为4字节的char?
背景:
我正在从PDF文件中提取流数据。该数据仅以LZW编码进行编码。在提取数据时,如果我使用char(这在解码部分之前),则数据将提供的最大整数值为255,原因显而易见(1字节char,最大256)。如果我可以直接将数据提取到没有中间字符的整数来捕获数据(如下面的示例),它可能会遇到此问题并显示超过255的正确数值(类似于LZW压缩数据) 。
基本上我希望能够做到这一点。
char FourBiteChar; // I can't use the char data type, not sure how else to do this?
int MyInteger;
while (input >> FourBiteChar)
{
MyInteger = FourBiteChar;
MyVector.push_back(MyInteger);
}
答案 0 :(得分:2)
您可能正在寻找std::stringsteam
std::string tempstr;
int MyInteger;
while (getline(input, tempstr))
{
std::stringstream tempss(tempstr);
tempss >> MyInteger;
}
至于您的文件不是ASCII,而是二进制(pdf),您可能想要检查这些答案: Reading text from binary file like PDF
Is there a C++ library to extract text from a PDF file like PDFBox for Java?