使用自定义编码或添加自定义字符
本文关键字:自定义 添加 字符 编码 | 更新日期: 2023-09-27 18:20:21
在使用binaryreader读取时,我是否可以使用一些自定义编码或转换一些base16字符(如日语SHIFT-JIS中的两个字节字符)?我的意思是,在读取它们时,比如,如果有0x00ff,它会在读取和写入时将其转换为"''et"(编辑文件,并使用binarywriter进行写入)。
我认为您想要实现自己的编码和解码,所以问题与如何实现它们有关,这取决于您的算法。默认的Encoding
仅支持流行的编码,如Unicode, BigEndianUnicode, UTF-8, ...
。我建议您不需要任何类型的自定义编码,因为您可以看到Encoding
只是一个具有一些方法来执行实际的encoding
和decoding
的类,它在处理众所周知的流行编码Unicode
、。。。但是对于您自己的编码,您必须实现几乎所有的核心功能,如以下所示:
public class CustomEncoding : Encoding
{
//NOTE: There are some abstract members requiring you to implement or declare in this derived class.
public override byte[] GetBytes(string s)
{
//Your code goes here
}
public override string GetString(byte[] bytes)
{
//Your code goes here
}
//And many other virtual (overridable) methods which you can override to implement your custom Encoding fully
}
希望它能有所帮助!