C# - 将 UTF8 字符串转换为位、修改位,然后再转换回 UTF8 字符串

C# - Convert UTF8 String into bits, modify bits, and convert back into UTF8 String

对于我正在进行的项目,我需要能够将 UTF8 字符串转换为位或字节以进行修改和返回。 (Bit/Byte 类型无关紧要.. '138' 或 '00000001' 或 '0A' - 只要我能够将其修改为字符串并将字节转换回字符串即可)

我尝试了一些方法,但没有任何效果。 在大多数情况下,我一直在尝试获取 File.ReadAllBytes(path) 的结果并将字节转换为可修改的字符串并返回,但没有取得任何成功。还尝试使用测试字符串对 BitArray 做同样的事情,但没有更好的运气。

这是我在一个更好的示例中尝试做的事情(伪代码)

string input = "ABC";

Byte[] bytes = StringToBytes(input);
Byte[] bytes2;

string bytestring;
foreach (Byte byte in bytes) {
    bytestring = byte.ToString();
    /// modify bytestring to the value of a different byte here ///
    bytes2.Add(bytestring.ToByte());
}

return BytesToString(bytes2);

Return:'ACD'(或其他)

如果您尝试将文件读入 byte[] 数组,修改这些字节,然后将其转换回字符串,您可以这样做:

// read the file into a byte array
var bytes = File.ReadAllBytes(inputFileName);

// modify the bytes

// now convert back to a UTF string
var stringFromByteArray = Encoding.UTF8.GetString(bytes, 0, bytes.Length);