Getting unicode string from its code - C#

后端 未结 3 790
梦谈多话
梦谈多话 2020-12-13 13:04

I know following is the way to use unicode in C#

string unicodeString = \"\\u0D15\";

In my situation, I will not get the character code (

相关标签:
3条回答
  • 2020-12-13 13:17

    Here's an NUnit test showing arul and Adrian's solution - note that one solution starts with input in a string, while with the other solution the input starts in just a char.

        [Test]
        public void testConvertFromUnicode()
        {
    
            char myValue = Char.Parse("\u0D15");
            Assert.AreEqual(3349, myValue);
    
            char unicodeChar = '\u0D15';
            string unicodeString = Char.ConvertFromUtf32(unicodeChar);
            Assert.AreEqual(1, unicodeString.Length);
            char[] charsInString = unicodeString.ToCharArray();
            Assert.AreEqual(1, charsInString.Count());
            Assert.AreEqual((int) '\u0D15', charsInString[0]);
        }
    
    0 讨论(0)
  • 2020-12-13 13:31

    Escape the character in the xml using a character reference:

    <Config value="&#x0D15;" />
    

    It will get read properly by c#'s xml parser (at least XElement.Load()).

    0 讨论(0)
  • 2020-12-13 13:33

    You want to use the char.ConvertFromUtf32 function.

    string codePoint = "0D15";
    
    int code = int.Parse(codePoint, System.Globalization.NumberStyles.HexNumber);
    string unicodeString = char.ConvertFromUtf32(code);
    // unicodeString = "ക"
    
    0 讨论(0)
提交回复
热议问题