Converting problem ANSI to UTF8 C#

前端 未结 7 1666
借酒劲吻你
借酒劲吻你 2021-01-17 20:08

I have a problem with converting a text file from ANSI to UTF8 in c#. I try to display the results in a browser.

So I have a this text file with many accent characte

7条回答
  •  旧巷少年郎
    2021-01-17 20:35

    When you convert to ASCII you immediately lose all non-English characters (including ones with accent) because ASCII has only 127 (7 bits) of characters.

    You do strange manipulation. string in .net is in UTF-16, so once you return string, not byte[] this doesn't matter.

    I think you should do: (I guess by ANSI you mean Latin1)

    public byte[] Encode(string text)
    {
        return Encoding.GetEncoding(1252).GetBytes(text);
    }
    

    Since the question was not very clear there is a reasonable remark that you might actually need this one:

    public string Decode(byte[] data)
    {
        return Encoding.GetEncoding(1252).GetString(data);
    }
    

提交回复
热议问题