Немного про UTF-16 и отличие от UTF-8

Как мы знаем, все строчки в коде msvs обрабатываются как utf-16, хотя формально мы их называем как utf-8. Отличие заключается в нижних и верхних суррогатах, которые не понятно вообще зачем нужны. Проблема может возникнуть при индексировании разных текстов, когда идет вызов WCF сервиса и ему в параметре передается UTF-16 строчка, а сам сервис должен передавать в utf-8, поэтому найдя символ из utf-16 все успешно проваливается с сообщением - Unable to translate Unicode character \uDE09 at index 0 to specified code page. Один из сложных и рекомендуемых способов - переопределить кодировщик у WCF сервиса, однако можно и ручками предварительно перекодировать строчку, чтобы быть уверенным, что она содержит только utf-8 коды.
Copy Source | Copy HTML
  1. private static readonly Encoding Utf8Encoder = Encoding.GetEncoding(
  2.                 "UTF-8",
  3.                 new EncoderReplacementFallback(string.Empty),
  4.                 new DecoderExceptionFallback()
  5. );
  6. text = Utf8Encoder.GetString(Utf8Encoder.GetBytes(text""));

Метки:   Категории:Code


blog comments powered by Disqus

Добавить комментарий

Кто я?

Программист. Я слежу за блогосферой и знаю, как будет развиваться интернет. Когда у меня есть время я даже прилагаю для этого усилия. Подробнее

Последние комментарии

Не отображать

Topbot at FeedsBurner

Облако тэгов

Мои Твиты

Twitter мая 25, 17:18
Рейтинг каналов и ботов Телеграм http://dlvr.it/QV5d6Y

Twitter мая 25, 16:12
Пример божественного вмешательства в фильме No country for old men http://dlvr.it/QV5HxB https://twitter.com/f1ashr/status/1000046919136067586/photo/1

Twitter мая 25, 15:06
Танцы человека с роботом http://dlvr.it/QV4y0p

Twitter мая 25, 13:30
роботы пишут жалобы http://dlvr.it/QV4QQG

Twitter мая 25, 09:43
Шахматная композиция для демонстрации 3-го этапа общества http://dlvr.it/QV3G9p https://twitter.com/f1ashr/status/999948953805180928/photo/1

Twitter мая 25, 09:11
Hoverbike for US Army http://dlvr.it/QV3674

Twitter мая 25, 08:07
Google AdWords купон на 1600p http://dlvr.it/QV2pMz

Twitter мая 25, 08:07
Соц.медиа http://dlvr.it/QV2pNR

Twitter мая 25, 08:07
Мониторинг соц.сетей на госзакупках - 5 http://dlvr.it/QV2pP3

Twitter мая 24, 16:21
Казахстан переходит на 2-й этап к демократии http://dlvr.it/QTz5QX

Twitter мая 24, 03:31
Проблемы восприятия информации людишками http://dlvr.it/QTvLgN

Twitter мая 23, 14:09
Поиск причины популярности спиннеров http://dlvr.it/QTqqGv https://twitter.com/f1ashr/status/999291326867820545/photo/1

Twitter мая 23, 13:37
Программа InstagramLiker обновлена http://dlvr.it/QTqdn2

Twitter мая 22, 17:51
Про найм вконтактика http://dlvr.it/QTkc7x

Twitter мая 22, 17:19
Этой осенью "A New Beginning for Mankind.." http://dlvr.it/QTkSGQ https://twitter.com/f1ashr/status/998976610354151424/photo/1

Twitter мая 22, 16:47
В Ступино напечатали первый 3D дом http://dlvr.it/QTkGv5

Twitter мая 22, 15:11
коломенский кремль: альтернативная история 2 http://dlvr.it/QTjlrg https://twitter.com/f1ashr/status/998944561769541634/photo/1

Twitter мая 22, 15:11
Яндекс атаковал Израиль http://dlvr.it/QTjlr0

Twitter мая 22, 14:38
"Добродел" добавлен в http://t30p.ru http://dlvr.it/QTjYqX

Twitter мая 22, 14:38
Перенос коллапса товарооборота в Беларуси на 2018 год http://dlvr.it/QTjYr6

Мой твиттер

Копирайт

Все мысли, высказанные в блоге, являются моим мнением и за это мнение меня никто не забанит! Кроме того, никто не имеет право копировать материалы блога без использования ctrl+C/V!

© Copyright 2008