Кодирование слова с использованием C# && dotnet core

Я пытаюсь расшифровать слово Микаэльздесь

using System;
using System.Net;
using System.Web;

public class Program
{
    public static void Main()
    {
        string s1 = WebUtility.HtmlDecode("Micka&#xEBl") ;
        string s2 = HttpUtility.HtmlDecode("Micka&#xEBl") ; 

        Console.WriteLine(s1);
        Console.WriteLine(s2);
    }
}

Но я получаю этот вывод:

Micka&#xEBl

Micka&#xEBl

Поэтому мне нужно знать, как правильно расшифровать это слово?

stackoverflow.com/questions/122641/…
Renat 22.05.2019 17:07

@ Ренат, извини, но кажется, я пробовал это!

Lamloumi Afif 22.05.2019 17:08

В вашем вводе отсутствует точка с запятой после &#xEB. Расшифровка Mickaël работает, см.: dotnetfiddle.net/JrGg5j

canton7 22.05.2019 17:16

@canton7 спасибо :) не могли бы вы опубликовать это как ответ и объяснить, почему у нас есть это Mickaël и Mickaël как возможные закодированные слова для Mickaël

Lamloumi Afif 22.05.2019 17:19
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
1
4
54
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ваш ввод неверен. Если вы HtmlEncodeMickaël, вы получите Mickaël.

string s1 = WebUtility.HtmlDecode("Mickaël") ;
Console.WriteLine(s1);

Выходы Mickaël

Особенно обратите внимание на точку с запятой ;

Hans Kesting 22.05.2019 17:10

@Owen Я нашел это слово в теле письма, затем я проверил расшифрованное значение, используя этот сайт codebeautify.org/html-decode-строка

Lamloumi Afif 22.05.2019 17:12
Ответ принят как подходящий

TL;DR В вашем вводе отсутствует точка с запятой. Должно быть Mickaël.

Если вы отметите спецификация, вы увидите, что существует три способа кодирования символа в HTML:

€      hexadecimal numeric character reference
€       decimal numeric character reference
€        named character reference

Все они начинаются с & и заканчиваются на ;.

ë может быть закодирован либо как ссылка на именованный символ (ë), либо с использованием его числовой ссылки на символ 235, закодированной как десятичная (ë) или шестнадцатеричная (ë).

В вашем вводе используется шестнадцатеричная кодировка, но отсутствует последний ;. Если вы добавите его обратно, ваш код будет работать: https://dotnetfiddle.net/7PPLu4

(@OwenPauling identified the problem with the input first. I was asked to post an answer expanding on the different ways to encode the ë in the comments)

Другие вопросы по теме