【问题标题】:C# - Create own Encoding for Roman8 charsetC# - 为 Roman8 字符集创建自己的编码
【发布时间】:2025-11-20 18:25:01
【问题描述】:

C# 不支持 Roman8 字符集,但我需要正确使用它(编码/解码字符串),所以我想知道创建自己的编码以支持此编码的最佳方法是什么?

够了吗:

class Roman8Encoding : Encoding

编码器呢?解码器?编码器回退?解码器回退?

欢迎任何关于如何正确完成工作的解释。

谢谢!

【问题讨论】:

    标签: c# encoding decoding


    【解决方案1】:

    我目前没有时间提供详细信息,但我创建了一个Encoding implementation for EBCDIC。您可以使用该源代码作为起点。我在 很久 以前写过它,所以这些天我可能会做不同的事情 - 但这是一个开始......

    【讨论】:

    • 我有时间,我等你有时间再解释一下。但是,我已经查看了您的解决方案,这与我想要做的非常相似:)
    • @Arnaud:在那种情况下,我怀疑我还有什么更重要的事情要说。 Roman8 是“每个字符一个字节,总是”编码吗?如果是这样,那将使生活变得更加简单。 (听起来像,给定en.wikipedia.org/wiki/HP_roman8
    • 是的,它是每个字符编码一个字节;),更简单的是什么?只需要做一个翻译表?
    • @Arnaud:它使 Encoder 和 Decoder 类型更易于编写(如果您真的需要自己编写它们;我不记得了)。是的,你基本上需要一个转换表:字节到字符,反之亦然。
    • 我会这样做的,谢谢!问题,如何初始化 EncoderReplacementFallback ?当一个字符不受支持时,我想打印一个 ?就地。