使用自定义编码或添加自定义字符

本文关键字:自定义 添加 字符 编码 | 更新日期: 2023-09-27 18:20:21

在使用binaryreader读取时,我是否可以使用一些自定义编码或转换一些base16字符(如日语SHIFT-JIS中的两个字节字符)?我的意思是,在读取它们时,比如,如果有0x00ff,它会在读取和写入时将其转换为"''et"(编辑文件,并使用binarywriter进行写入)。

使用自定义编码或添加自定义字符

我认为您想要实现自己的编码和解码,所以问题与如何实现它们有关,这取决于您的算法。默认的Encoding仅支持流行的编码,如Unicode, BigEndianUnicode, UTF-8, ...。我建议您不需要任何类型的自定义编码,因为您可以看到Encoding只是一个具有一些方法来执行实际的encodingdecoding的类,它在处理众所周知的流行编码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
}

希望它能有所帮助!