99 / 70 / 13
Регистрация: 15.12.2013
Сообщений: 463
|
|
1 | |
Работа с кодировками16.07.2016, 03:36. Показов 3934. Ответов 43
Метки нет (Все метки)
Всем привет.
Есть следующая проблема: есть программа, которая загружает html код страницы с сайта. Затем из этого html кода необходимо выдернуть все ссылки. Проблема заключается в том, что html документ может быть сохранен в любой кодировке. Поэтому, т.к. для себя я выбрал использовать utf-8, мне необходимо эти символы преобразовывать в utf-8. 1) Какие есть стандартные средства для перекодировки символов? 2) Какую литературу можно почитать из области Quick Start? (Кроме Страуструпа, в специальном издании все слишком запутанно)
0
|
16.07.2016, 03:36 | |
Ответы с готовыми решениями:
43
Работа с кодировками файла (АНСИ и ЮТФ-8) Работа с кодировками при чтении файла Проблемы с кодировками Проблемы с кодировками |
Заблокирован
|
|
16.07.2016, 08:15 | 2 |
Может загрузить в специальный блокнот(Notepad++), там поменять кодировку и сохранить. Так пойдет?
0
|
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
16.07.2016, 08:20 | 3 |
Использовать utf-8 для обработки текста - плохое решение. Надо wchar_t брать. Перекодировка функциями типа MultiByteToWideChar().
0
|
37 / 36 / 9
Регистрация: 16.04.2015
Сообщений: 283
|
|
16.07.2016, 08:26 | 4 |
По-моему, в этом случае проще и удобнее использовать C#. В нём изменение кодировок встроено.
(ссылки выдираются regex-ом).
0
|
8972 / 4318 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
16.07.2016, 09:11 | 5 |
нет проблемы перегнать в утф-8.
проблема - узнать в какой кодировке исходный текст. стандартных средств для этого не существует. исходный текст может быть в какой угодно кодировке. как MultiByteToWideChar вам поможет?
0
|
Комп_Оратор)
|
|
16.07.2016, 09:43 | 6 |
над заголовком - тег <meta charset="...">. Можно пробовать меняя кодировки прочесть этот тег и потом спарсить кодировку для использования. Если указана отсутствующая кодировка или есть ошибки кодировки, то по любому это не проблема программы.
1
|
8972 / 4318 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
16.07.2016, 09:48 | 7 |
ну вот если только парсить заголовок,
а потом похоже, придется сделать свитч-кейс
1
|
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
16.07.2016, 10:04 | 8 |
Из его вопроса не ясно в чём проблема - в определении кодировки или в преобразовании. Я подумал про второе, потому что там про средства преобразования символов упоминается.
0
|
8972 / 4318 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
16.07.2016, 10:05 | 9 |
1
|
Ушел с форума
|
|
16.07.2016, 10:07 | 10 |
По стандарту HTTP, веб-сервер должен указывать кодировку содержимого в заголовке Content-Type.
Например: Код
Content-Type: text/html; charset=utf-8 К сожалению, некоторые веб-серверы в Content-Type пишут одно, а в HTML передают совсем другое.
5
|
nmcf
|
16.07.2016, 10:09
#11
|
0
|
8972 / 4318 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
16.07.2016, 10:20 | 13 |
преобразуйте мне текст в любой кодировке в утф-8 пожалуйста.
приведите пример кода, как вы это сделаете.
0
|
Убежденный
|
16.07.2016, 10:23
#14
|
Не по теме:
0
|
16.07.2016, 12:32 | 15 |
Давайте спросим у ASCII, что он понимал под "любой кодировкой":
а) набор из 4-5 кириллических кодировок, как полагаю я. б) любую кодировку на Земле (не будем распространять на Вселенную), как, наверное, полагает hoggy.
0
|
Комп_Оратор)
|
|
16.07.2016, 12:46 | 16 |
Виртуальный шовинизмъ (имхо). Пусть будут и не кириллические. Можно выполнить расширяемую прогу (наследованием например). Тут есть строчка:
Если страница оформлена правильно, то можно поискать тег с кодировкой, если нет, (и нет набора слов, некоторые из которых обязательно присутствуют в тексте), то нет надёжного решения. На правах свободной придури: Прога с искусственным Можно парсить десяток-два слов и отправлять запрос в поисковик, в разных кодировках. По одному слову за раз. Где ответов не равных "по вашему запросу не найдено ни одной ссылки" больше, там и правильная кодировка. Можно и свой расширяемый словарь завести. Это медленно и ненадёжно. То есть по-человечески.
1
|
8972 / 4318 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
16.07.2016, 12:50 | 17 |
в этом нет необходимости.
"любая кодировка" обозначает "любую кодировку". внезапно.
1
|
Модератор
13727 / 10923 / 6479
Регистрация: 18.12.2011
Сообщений: 29,155
|
|
16.07.2016, 12:51 | 18 |
1
|
Комп_Оратор)
|
|
16.07.2016, 12:57 | 19 |
Как я понимаю, поисковик приводит кодировку к кодировке полученной от браузера. То есть, слово (строка) после обработки изменится. Если Вы (прога) угадали кодировку, то она будет соответствовать браузеру и поисковик не должен её менять. Тут много "если". Что и говорить. Потому и написал что с
1
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|
16.07.2016, 13:45 | 20 |
В такой постановке задачи никакой проблемы нет. Первые 128 символов у всех (популярных) восьмибитовых кодировок идентичны, а больше ничего для выдирания <a href=... и не требуется.
0
|
16.07.2016, 13:45 | |
16.07.2016, 13:45 | |
Помогаю со студенческими работами здесь
20
Проблемы с кодировками Путаница с кодировками Непонятки с кодировками Проблема с кодировками Путанница с кодировками Странность с кодировками в ff Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке
В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
|
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
|
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins
В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
|
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang
Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
|
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
|
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
|
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
|
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
|
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента!
4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве).
Первое вводное занятие. . .
|
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
|
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений
Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
|
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
|