Как я могу преобразовать html-эмодзи в текст?

#c# #html #asp.net #unicode #emoji

#c# #HTML #asp.net #Юникод #эмодзи

Вопрос:

Я работаю с эмодзи и выбираю сохранить: amp;#128514; вместо 😀 в базе данных, которая работает нормально.

Как я могу перезагрузить текст в asp: TextBox и преобразовать amp;#128514; в 😀?

В базе данных: test amp;#128512;amp;#128513;amp;#128514;

В текстовом поле мне нужно: test 😀😀😀 для целей редактирования.

Я думаю, что простой код решит эту проблему, например:

 txtComment_Lmt.Text = Server.HtmlDecode("test amp;#128512;amp;#128513;amp;#128514;");
  

Но этот подход не работает, я знал, что эмодзи связаны с Unicode.

Как я могу преобразовать HTML-объект emoji во что-то, что работает в режиме редактирования в текстовом поле?

Комментарии:

1. но как вы добрались до `amp; # 128514;»? что это за формат. Можете ли вы показать в своем вопросе, как получить эти значения. Возможно, это покажет некоторые зацепки.

2. Я получаю это значение при преобразовании C # эмодзи в юникод в html entitie, но это не моя проблема code lValue_Cmt = «amp; #» char. ConvertToUtf32(pValue_Cmt, lIndex) «; code

3. Что не так с HttpUtility. Метод HtmlDecode (как уже предлагал @Mikael)?

4. HttpUtility. Метод HtmlDecode не работает, он возвращает ту же строку, что и входные данные, я читал, что машинный код C # не работает с тегами html5.

Ответ №1:

Используя jquery, я получил решение:

 var ltxtComment_Lmt = document.getElementById('txtComment_Lmt');
ltxtComment_Lmt.value = $('<textarea />').html(ltxtComment_Lmt.value).text();
  

Но я хочу это решение на C #, я читал, что C # не работает с объектами html5, я думаю, что существует какое-то простое решение для декодирования HTML-кодов emoji в текстовое поле.

Комментарии:

1. Это относится к редактированию вашего вопроса, а не к ответу. Stack overflow — это не доска объявлений, где вы делаете новую запись каждый раз, когда вам нужно что-то добавить к вопросу или ответу.

2. Это ответ, но не тот ответ, который я хочу, я просто разместил это, чтобы показать другим пользователям, что возможно решить проблему, я надеюсь, что кто-нибудь ответит на мой вопрос с помощью кода C #, спасибо в любом случае.

3. Нет, я использую jquery, и я хочу решить с помощью чистого C # / javascript