Страница: 1 |
Asc - неподходит, так как эта ASII (или как там она) содержит не все символы, надо как-то в унивирсальную кодировку, в юникод что-ли.
Страница: 1 |
Вопрос: Как перевести символ в код (чисто)?
Добавлено: 18.06.04 20:50
Автор вопроса: HACKER
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 18.06.04 20:51
упс ))) вы не пугайтесь я не новый русский "Как перевести символ в код (чисто)? "
не "чисто", а "число"...
Номер ответа: 2
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #2
Добавлено: 18.06.04 21:00
а я кажись разобрался, это мне надо весь файл в цифры превратить и записать, я в теперь в hex символ перевожу
For x = 1 To lof (1)
Get #1, x, h1
h1 = hex(h1) ' это будет hex
next x
Это... а как потом назад? из hex в мою переменную h1, чтоб потом в Put #1, , h1 в файл короче записать
Номер ответа: 3
Автор ответа:
ISpy
Разработчик Offline Client
Вопросов: 47
Ответов: 621
Web-сайт:
Профиль | | #3
Добавлено: 18.06.04 21:09
Может это подойдет: http://vbnet.ru/forum/show.aspx?id=41076
(1 ответ).
Номер ответа: 4
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #4
Добавлено: 19.06.04 01:50
Ну типа мона так vba.AscW()
Номер ответа: 5
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #5
Добавлено: 19.06.04 13:49
2 sne
Чо то не понял, давай по подробней
2 ISpy О! точно, хотя я уже подобное сделал только по другому. Оказывается я уже задавал подобный вопрос, эх был бы поиск... всёравно спасибо что ткнул меня на мой же топик
Номер ответа: 6
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #6
Добавлено: 19.06.04 14:31
VB может переводить в число только строку с десятичным числом.
Если хочешь, то вот адаптированная под мой VBASM часть моего же примера "Конвертер систем счисления" (можешь найти на моём сайте).
Function TOOLS_ToDEC_Byte(NumSystem As Integer, number$) As Byte
number$ = UCase$(number$)
 im DecNum As Long
 ecNum = 0
 im Convert As Integer
For Convert = 1 To Len(number$)
 im SysNum$
SysNum$ = Mid$(number$, Convert, 1)
If Asc(SysNum$) > 64 Then SysNum$ = LTrim$(Str$((Asc(SysNum$) - 65) + 10))
 ecNum = DecNum + Val(SysNum$)
If Convert = Len(number$) Then Exit For
 ecNum = DecNum * NumSystem
Next Convert
TOOLS_ToDEC_Byte = DecNum
End Function
===
 im CodeASC as Byte
NumberHex="FF"
Используй так
CodeASC=TOOLS_ToDEC_Byte(16, NumberHex)
Только помни, шестнадцатиричное число в строчном виде (это то что ты получил с помощью ф-и HEX$) занимает 2 символа. Например FF(1 байт)=255, FFFF(2 байта) = 65535, FFFFFFFF(4 байта) - Беззнаковый Long.
Когда преобразовываешь с помощью HEX$, не забывай проверять длину результата. Если меньше 2-х символов, то просто добавляй нолик:
h1 = hex(h1)
If Len(h1)<2 then h1="0" & h1
Если обратно, то в цикле с шагом 2 считываешь по 2 байта, а затем применяешь ф-ю которую я тебе написал.
Номер ответа: 7
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #7
Добавлено: 19.06.04 15:00
2hacker, вопрос был:
Asc - неподходит, так как эта ASII (или как там она) содержит не все символы, надо как-то в унивирсальную кодировку, в юникод что-ли...
Вот это как раз и есть для Unicode... там есть все...
Asc - для ASCII (Chr)
AscW - юникодовый аналог (ChrW)
Номер ответа: 8
Автор ответа:
DaSharm
ICQ: 780477
Вопросов: 72
Ответов: 1297
Web-сайт:
Профиль | | #8
Добавлено: 19.06.04 19:25
в аски тоже все есть, переводим в байты:
hex(asc("a")
а если хочешь примитивно шифровать, то переводи так:
hex(asc("a"+5)
и расшифровуй так:
chr(HEX_char-5)
Номер ответа: 9
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #9
Добавлено: 19.06.04 20:00
DaSharm, это у нас так, а попробуй китайцам это объяснить ))
например chrw(256) ошибки не вызовет, в отличие от chr(256)...
И для функции Asc то-же самое... мало-ли иероглифоф напридумывали 256'ю там дело и не пахнет...
Номер ответа: 10
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #10
Добавлено: 19.06.04 20:35
DaSharm я жписал что ASCII таблица неподходит. Ну спасибо всем!
Номер ответа: 11
Автор ответа:
DaSharm
ICQ: 780477
Вопросов: 72
Ответов: 1297
Web-сайт:
Профиль | | #11
Добавлено: 19.06.04 23:36
теперь понял
Номер ответа: 12
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #12
Добавлено: 20.06.04 14:11
ок