Преобразование речи в текст программа windows

0 / 0 / 0

Регистрация: 28.09.2010

Сообщений: 139

1

10.01.2011, 11:10. Показов 11948. Ответов 23


Студворк — интернет-сервис помощи студентам

У меня проблема с ХР и Win98. Создаю документ в ХР потом проблема его чтения.. это как пример.
Суть в вопросе: нужен код конвертирования из Unicode в Win1251 ( в т.ч. русский текст) и наоборот
Кто первый подскажет. Идеи не надо, кокретно код или незанимать Интернет:)
Спасибо



0



Konst_one

2 / 2 / 1

Регистрация: 19.07.2007

Сообщений: 737

10.01.2011, 11:42

2

Visual Basic
1
s=vba.StrConv(ss,vbFromUnicode)



0



palva

3961 / 2872 / 669

Регистрация: 08.06.2007

Сообщений: 9,687

Записей в блоге: 4

10.01.2011, 11:54

3

Visual Basic
1
2
3
4
5
6
7
8
9
10
Dim s As String
Dim c As Integer
Dim b(1) As Byte
c = 1092 ' код буквы ф в UNICODE
b(0) = c Mod 256
b(1) = c  256
s = b
MsgBox (s) ' ы
с = Asc(s)
MsgBox с ' Код первой буквы в ANSI



0



palva

3961 / 2872 / 669

Регистрация: 08.06.2007

Сообщений: 9,687

Записей в блоге: 4

10.01.2011, 11:56

4

Исправление

Visual Basic
1
2
3
4
5
6
7
8
9
10
Dim s As String
Dim c As Integer
Dim b(1) As Byte
c = 1092 ' код буквы ф в UNICODE
b(0) = c Mod 256
b(1) = c  256
s = b
MsgBox (s) ' ф
с = Asc(s)
MsgBox с ' Код буквы ф в ANSI



0



0 / 0 / 0

Регистрация: 28.09.2010

Сообщений: 139

10.01.2011, 12:30

 [ТС]

5

1. Для Kons one: Спасибо — как внедрю
s=vba.StrConv(ss,vbFromUnicode)
будет еще раз спасибо…но если можно, не отходя от ‘кассы’, — это код только для VBA?

2. А вот по поводу предложения ‘pava’ — мне понято? но только то, что если я буду знать где взять код букв в unicode, то преобразую.
Поэтому к ‘palve’ — а как все же узнать эти коды?
Для Ascii — есть таблицы, а ..??
спасибо, во первых и все же от palve жду подробнее

Пока ситуация как на лекции: Профессор рассказал как идет ток через лампочку и что она светит… Вопросы есть? Один студент понимает руку и спрашиват: ‘А куда керосин наливают?’
Во так и я. Спасибо



0



3961 / 2872 / 669

Регистрация: 08.06.2007

Сообщений: 9,687

Записей в блоге: 4

10.01.2011, 12:40

6

Я понял так, что если вам нужно ‘перекодировать’, то у вас уже есть исходный код. То есть вы читаете файл офисного документа командой Get в переменную типа Integer. Там у вас и будет нужный код. Или я вас неправильно понял?



0



palva

3961 / 2872 / 669

Регистрация: 08.06.2007

Сообщений: 9,687

Записей в блоге: 4

10.01.2011, 12:57

7

А если вам нужен код какой-нибудь буквы

Visual Basic
1
2
3
4
5
6
7
8
9
Dim s As String
Dim c As Integer
Dim b() As Byte
s = 'ф' ' Буква хранится в кодировке UNICODE
b = s
c = b(1) * 256 + b(0)
' как вариант, без использования динамического байтового массива
' c = AscB(MidB(s, 2, 1)) * 256 + AscB(MidB(s, 1, 1))
MsgBox c ' Код буквы ф



0



0 / 0 / 0

Регистрация: 28.09.2010

Сообщений: 139

10.01.2011, 13:13

 [ТС]

8

pavla — не совсем так. Пока конкретно примера нет. Поэтому предложу проще: у меня имеется файл, и знаю, что он текстовый но в Unicoe.
Если я его открываю по DOS-ки из панели Norton Comander for Windows даже через ‘F3’ — то я виже абракодабру… и только латынь читается как есть.
Если это проделать с файлом Win98 — то все читается, но и через ‘F4’, сам откроется Notepad и так же все читаем.!!
А если открыть файл Open File as Binary, из VB — похоже ответ [Konst_one] самoе то? что мне надо и это как ответ на ваш встречный вопрос:
— ‘То есть вы читаете файл офисного документа командой Get в переменную типа Integer’ — а как имеете вы ввиду через GET или я фактически ответил?
СПАСИБО, жду спорных разговоров. А в споре рождается истина!



0



0 / 0 / 0

Регистрация: 28.09.2010

Сообщений: 139

10.01.2011, 13:15

 [ТС]

9

P.s. — и все же мне не ответили еще, отвлеклись:
Поэтому к ‘palve’ — а как все же узнать эти коды?



0



3961 / 2872 / 669

Регистрация: 08.06.2007

Сообщений: 9,687

Записей в блоге: 4

10.01.2011, 13:31

10

Unicode тоже разный бывает. UTF-8 тоже называют Unicode, там латынь идет как есть, по одному байту на символ, а русские буквы по два байта. Если у вас этот случай, то методы которые мы здесь обсуждали неприменимы. Для того, чтобы из этих двух байтов получить настоящий Unicode, нужно использовать API-функцию MultiByteToWideChar.



0



0 / 0 / 0

Регистрация: 28.09.2010

Сообщений: 139

10.01.2011, 13:42

 [ТС]

11

Palva, я сказал как я вижу. Очевидно это и есть такой случай.
Тогда, пожалуйста, если можно: — где есть полный пример передировки для моего данного случая.
А вот второй пример, когда я копирую из текста в ХР, а потом вставлюя в код VB6 — я читаю абракодабру!!!! И наоборот
Копирую из окна (Text1.Text, например) запущенного проекта программы текст и всталяю в отдельно вызванный Лист1 Exel ручным способом, то же абр….!
Возможно это второй вариант или то же, я незнаю. Но отрицательный эффект нужно исправить!
СПАСИБО!



0



3961 / 2872 / 669

Регистрация: 08.06.2007

Сообщений: 9,687

Записей в блоге: 4

10.01.2011, 13:44

12

Если вам нужна таблица кодов Unicode, то можете определить ее также, как я определял код буквы ф.

О кодировках в VB можно почитать здесь:

http://www.microsoft.com/Rus/Msdn/Activ/MSVB/Archive/VBA/Decoder/VBVariables1_2.mspx



0



0 / 0 / 0

Регистрация: 28.09.2010

Сообщений: 139

10.01.2011, 14:04

 [ТС]

13

Palva — ну, спасибо. Убил наповал! Конечно, нужно обсосать… поработать. Но все прекрасно. Ниточку я зацепил.
Это как в анекдоте: выпил мужик три пузыря и еще хочет, а денег только на чекушку. ..Купил и упал…но сид хватило подумать, зачем я так много выпил, купм бы чекшку…
СПАСИБО. Пока.



0



palva

3961 / 2872 / 669

Регистрация: 08.06.2007

Сообщений: 9,687

Записей в блоге: 4

10.01.2011, 14:33

14

Вот как преобразуют из UTF-8 в Unicode:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Const CP_UTF8 = 65001
Private Declare Function MultiByteToWideChar Lib 'Kernel32.dll' _
( _
  ByVal CodePage As Long, _
  ByVal dwFlags As Long, _
  ByRef lpMultiByteStr As Byte, _
  ByVal cbMultiByte As Long, _
  ByRef lpWideCharStr As Byte, _
  ByVal cchWideChar As Long _
) As Boolean
Sub test()
Dim b(7) As Byte
Dim i(7) As Byte
Dim s As String
' Прочитали b из файла, например, следующие значения
b(0) = &HD1 ' ф
b(1) = &H84 '
b(2) = &HD1 ' ы
b(3) = &H8B '
b(4) = &HD0 ' в
b(5) = &HB2 '
b(6) = &HD0 ' а
b(7) = &HB0 '
If MultiByteToWideChar(CP_UTF8, 0, b(0), 8, i(0), 4) Then
  s = i
  MsgBox (s) ' фыва
End If
End Sub

А дальше уже функцией Asc можно получить ANSI-код произвольного символа. Только подзреваю, что вам это не нужно.



0



0 / 0 / 0

Регистрация: 28.09.2010

Сообщений: 139

10.01.2011, 14:50

 [ТС]

15

…. ну это уже сил нет отвечать, добиваешь меня palva
и как это может не пригодиться: я как ‘Плюшкин’, мне все надо… это все та же цепочка тянется. Однозначности в программировании не бывает, изменишь чуть-чуть, а как приятно :)
С П А С И Б О !!!!
… тольеко на сегодня хотя бы. Я ничего не успел применить для своего варианта. Хотя этоне просто.
То отвечаю на форуме, то работа дергает. Спасибо., если считаешь нужным, все что касается воруг этой темы, пиши !
С уважением, Дмитри



0



0 / 0 / 0

Регистрация: 04.03.2008

Сообщений: 250

12.01.2011, 10:53

16

Тема неожиданно оказалась интересной и для меня. Задача такая – есть текстовый файл, который надо разбирать построчно, что я и делаю через FSO, открывая его, как TextStream.
Текст в основном на латинице, но среди внятного английского текста встретились кракозябры. При более детальном исследовании кракозябры вполне по-русски прочитались в Word’е, после того, как я выбрал кодировку UTF-8. Это, видимо, та самая кодировка, о которой говорил palva. В связи с этим у меня к Вам, palva, вопрос – не прокомментируете ли подробнее вашу рекомендацию по преобразованию UTF-8 в удобочитаемый текст? В кодировках я не слишком силен, сходу сам в проблеме не разобрался.



0



Messir

12.01.2011, 11:16

17

Что-то вспомнилась реклама ‘А вы все еще вывариваете? Тогда мы идем к вам…’ (можно считать, что на правах рекламы .net)

0 / 0 / 0

Регистрация: 04.03.2008

Сообщений: 250

12.01.2011, 11:22

18

Все верно, Messir, в MSDN нашел все, что надо, но для дот-нет. Но мы по ряду причин ‘все еще кипятим’. Так что вопрос остается открытым — как справиться с UTF-8.



0



Messir

12.01.2011, 11:56

19

Я что-то не могу понять ваших проблем, господа
Сначала MultiByteToWideChar, потом WideCharToMultiByte — и никаких проблем, чего кипятиться-то?

3961 / 2872 / 669

Регистрация: 08.06.2007

Сообщений: 9,687

Записей в блоге: 4

12.01.2011, 12:04

20

Ну если на бейсике, то можно результат MultiByteToWideChar (массив Byte) положить в строку и сразу иметь корректную строку, как в примере выше. Если надо преобразовывать в ANSI, OEM или еще куда, то тогда конечно WideCharToMultiByte, хотя для ANSI достаточно бейсиковской Asc. Еще один вопрос — это какого размера должен быть байтовый массив, чтобы вместить перекодированную строку. MSDN здесь пишет, что для этого MultiByteToWideChar должна иметь нулевой параметр (не помню какой), и тогда функция возвратит вам необходимый размер.



0



Version: 20230216
By the same author: Virtour.fr — visites virtuelles

Универсальный декодер — конвертер кириллицы

Результат

[Результат перекодировки появится здесь…]

Гостевая книга

Поставьте ссылку на наш сайт!

<a href=»https://2cyr.com/decode/»>Универсальный декодер кириллицы</a>

Custom Work
For a small fee I can help you quickly recode/recover large pieces of data — texts, databases, websites… or write custom functions you can use (invoice available).
FAQ and contact information.

О программе

Здравствуйте! Эта страница может пригодиться, если вам прислали текст (предположительно на кириллице), который отображается в виде странной комбинации загадочных символов. Программа попытается угадать кодировку, а если не получится, покажет примеры всех комбинаций кодировок, чтобы вы могли выбрать подходящую.

Использование

  • Скопируйте текст в большое текстовое поле дешифратора. Несколько первых слов будут проанализированы, поэтому желательно, чтобы в них содержалась (закодированная) кириллица.
  • Программа попытается декодировать текст и выведет результат в нижнее поле.
  • В случае удачной перекодировки вы увидите текст в кириллице, который можно при необходимости скопировать и сохранить.
  • В случае неудачной перекодировки (текст не в кириллице, состоящий из тех же или других нечитаемых символов) можно выбрать из нового выпадающего списка вариант в кириллице (если их несколько, выбирайте самый длинный). Нажав OK вы получите корректный перекодированный текст.
  • Если текст перекодирован лишь частично, попробуйте выбрать другие варианты кириллицы из выпадающего списка.

Ограничения

  • Если текст состоит из вопросительных знаков («???? ?? ??????»), то проблема скорее всего на стороне отправителя и восстановить текст не получится. Попросите отправителя послать текст заново, желательно в формате простого текстового файла или в документе LibreOffice/OpenOffice/MSOffice.
  • Не любой текст может быть гарантированно декодирован, даже если есть вы уверены на 100%, что он написан в кириллице.
  • Анализируемый и декодированный тексты ограничены размером в 100 Кб.
  • Программа не всегда дает стопроцентную точность: при перекодировке из одной кодовой страницы в другую могут пропасть некоторые символы, такие как болгарские кавычки, реже отдельные буквы и т.п.
  • Программа проверяет максимум 8280 вариантов из двух и трех перекодировок: если имело место многократное перекодирование вроде koi8(utf(cp1251(utf))), оно не будет распознано или проверено. Обычно возможные и отображаемые верные варианты находятся между 32 и 255.
  • Если части текста закодированы в разных кодировках, программа сможет распознать только одну часть за раз.

Условия использования

Пожалуйста, обратите внимание на то, что данная бесплатная программа создана с надеждой, что она будет полезна, но без каких-либо явных или косвенных гарантий пригодности для любого практического использования. Вы можете пользоваться ей на свой страх и риск.

Если вы используете для перекодировки очень длинный текст, убедитесь, что имеется его резервная копия.

Переводчики

Русский (Russian) : chAlx ; Пётр Васильев (http://yonyonson.livejournal.com/)

Страница подготовки переводов на другие языки находится тут.

Что нового

October 2013 : I am trying different optimizations for the system which should make the decoder run faster and handle more text. If you notice any problem, please notify me ASAP.

На английской версии страницы доступен changelog программы.

Вернуться к кириллической виртуальной клавиатуре.

  • Remove From My Forums
  • Вопрос

  • Заранне благодарю за помощь.

    Впервые столкнулся с базами в формате Unicode и теперь

    решаю проблему преобразования строк Unicode в Win1251  и обратно

    в приложении на C#.

Ответы

  • Вот
    тут такой вариант предлагают:

    string str = "UTF8 Encoded string.";
    Encoding srcEncodingFormat = Encoding.UTF8;
    Encoding dstEncodingFormat = Encoding.GetEncoding("windows-1251");
    byte [] originalByteString = srcEncodingFormat.GetBytes(str);
    byte [] convertedByteString = Encoding.Convert(srcEncodingFormat,
    dstEncodingFormat, originalByteString);
    string finalString = dstEncodingFormat.GetString(convertedByteString);
    
    • Помечено в качестве ответа

      16 ноября 2010 г. 11:03

Recoder v3.1.0 (BOM-remover)

github

Небольшая программа для массового (пакетного) перекодирования файлов из одной кодировки в другую. Доступные кодировки windows-1251, koi8-r, cp866, ISO 8859-5, utf-8, utf-8 с BOM-заголовком. Также умеет искать и удалять BOM-заголовок в файлах и каталогах.

Текущая версия: ¶

  • Скачать recoder v3.1.0 для Windows 7+ 64-бит (9.7 MB)

    Запускается без установки, не требует дополнительных библиотек.

  • Скачать recoder v3.1.0 для Ubuntu 20.04+ 64-бит (10.8 MB)

    Запускается без установки, не требует дополнительных библиотек.

Некоторые антивирусы (например, VirusTotal) могут показывать наличие вирусов в исполняемом файле. Это связано с использованием PyInstaller и его модулей.
Если это является проблемой, то проект можно запускать из исходного кода или использовать версию v2.

Последнее изменение: ¶

  • 3 декабря 2022 г. — добавлена галочка «Искать в подкаталогах».
  • 5 марта 2022 г. — приложение переписано на Python (tkinter) с публикацией исходного кода.

Предыдущие версии: ¶

  • v3.0.0: Windows (9.7 MB), Linux (11 MB)
  • v2.3.0: Windows (7.9 MB), Linux (74 kB)
  • v2.2.2: Windows (7.9 MB), Linux (67.7 kB)
  • v2.2.1: Windows (7.9 MB), Linux (66.5 kB)
  • v2.1.1: Windows (7.2 MB), Linux (48.8 kB)
  • v2.1: Windows (8.2 MB), Linux (48.5 kB)
  • v2.0: Windows (7.9 MB)

Скриншоты ¶

Recoder 3.0.0

Recoder 3.0.0


Перекодировщик кодов TCODE 2.18 легко преобразует любую абракадабру в читаемый текст или html код.
При работе с различными кодировками или прочтении писем, часто возникает проблема в отображении символов различных кодировок: windows-1252, windows-1251, UTF-8, KOI-8, ISO 8859-5…

Многим из Вас приходилось получать не читаемые письма — иероглифы.
При передаче почты письма могут быть многократно перекодированны, в зависимости от источника: сообщения с сайта, с почтового клиента.
Также программа TCODE может переводить русский текст в транслит и обратно.

Так было:

Так стало:

Есть ручное управление параметрами кодировки, но по умолчанию программа полностью автоматически распознает и перекодирует одни коды в другие.

Для восстановлении текста программа TCODE поддерживает кодировки, преобразования:
— кодировки Dos, Windows, KOI-8, ISO 8859-5 и их комбинации.
— преобразует текста форматов Base64, UUEncoded, Quoted-Printable, XXEncoded , 7-ми битной кодировки вида %СO %С1
— преобразует текст формата HTML. Может убирають из текста теги html, преобразует Unicode
— преобразует тексты формата RTF, UTF-8
— транслит туда и обратно
— может работать из командной строки, передает параметры преобразования текста

В скаченном архиве найдете подробное описание возможностей программы и кодировок.

Разработчик: Алексей Бойко
Версия: 2.18 Обновления актуальны 05.2012
Распространяется: бесплатно — FreeWare: без регистрации, срок использования не ограничен.
Язык: только русский
Операционная система: Windows All

Скачать программу:


TCODE 2.18.rar [205,75 Kb] (cкачиваний: 3138)

(Скачивание начнется сразу)

Часто появляется необходимость вытащить текст из печатных страниц какого-либо издания или документа. Здесь незаменимым помощником для Вас будет программа распознавания текста ABBYY FineReader.
Она поможет распознать и превратить типографский текст с бумажного листа в рабочий электронный текст для любого тестового редактора.

  • Преобразование диска из mbr в gpt при установке windows
  • Премьер для windows 10 скачать
  • Преобразование в динамический диск windows 10
  • Преобразование в mbr при установке windows через командную строку
  • Преобразование fat32 в ntfs windows 7