|
Заменить символ на Chr(255) | ☑ | ||
---|---|---|---|---|
0
AndyR
06.11.12
✎
14:18
|
Собственно сабж. Есть некая строка, нужно в ней определенную последовательность символов замениить на символ с кодом 255:
Стр1 = СтрЗаменить(Стр, "*FF*", Символ(255)); Приведенный пример, естественно, не работает, т.к. Символ() возвращает UTF-8. Подскажите, как добиться желаемого. |
|||
1
Пеппи
06.11.12
✎
14:20
|
Стр1 = СтрЗаменить(Стр, "*FF*", "Символ(255)"); ?
|
|||
2
AndyR
06.11.12
✎
14:25
|
Прикольно. Результат только не тот.
|
|||
3
Reset
06.11.12
✎
14:26
|
"естественно, не работает"
Почему? |
|||
4
Reset
06.11.12
✎
14:27
|
КодСимвола(СтрЗаменить("1","1",Символ(255)))
// 255 |
|||
5
Reset
06.11.12
✎
14:27
|
Сообщить(...)
|
|||
6
Reset
06.11.12
✎
14:28
|
Вот это тоже не понял:
"т.к. Символ() возвращает UTF-8" |
|||
7
AndyR
06.11.12
✎
14:30
|
Синтаксис:
Символ(<КодСимвола>) Параметры: <КодСимвола> (обязательный) Тип: Число. Код получаемого символа. Код задается в соответствии с кодировкой Unicode И Символ(255) занимает фактически 2 байта. А мне надо 1 байт = 255. |
|||
8
Reset
06.11.12
✎
14:31
|
При чем здесь байты? Нет такого понятия
|
|||
9
Reset
06.11.12
✎
14:32
|
Почему сразу все не рассказать? Зачем загадками изясняться
|
|||
10
Maxus43
06.11.12
✎
14:33
|
какой то велосипед по переводу 16-ного кода в 10-ый, причем не понимая что и FF и 255 - одно и тоже
|
|||
11
AndyR
06.11.12
✎
14:36
|
Похоже да, надо больше кода. Модельный пример:
Стр = "мама мыла *FF* раму"; Стр1 = СтрЗаменить(Стр, "*FF*", ???); ТД = Новый ТекстовыйДокумент; ТД.ДобавитьСтроку(Стр1); ТД.Записать("с:\qwert.txt", КодировкаТекста.OEM); В результате в файле хочу видеть символ с кодом 255 между "мыла" и "раму" |
|||
12
aka AMIGO
06.11.12
✎
14:37
|
"255" - это вроде буква "я"
|
|||
13
AndyR
06.11.12
✎
14:39
|
Не в досовой кодировке.
|
|||
14
aka AMIGO
06.11.12
✎
14:41
|
ну, да.. сейчас у меня вин-2000, раскаладка с кириллицей, вот в ней и буква
значит, надо как-то учитывать кодовые страницы,из которых этот символ извлекается |
|||
15
oleg_km
06.11.12
✎
14:42
|
Пользуй ADODB.Stream пока лавочку не прикрыли, там все можно
|
|||
16
Reset
06.11.12
✎
14:43
|
(11) По моему, средствами ТекстовыйДокумент это нельзя сделать
|
|||
17
AndyR
06.11.12
✎
14:48
|
От же ж блин...
Вот тут нарыл вкусную табличку http://msdn.microsoft.com/en-US/goglobal/cc305166.aspx Этакое соответствие между OEM866 и Unicode. Там как раз 255 символ в Unicode звучит как 0x00A0. Поставил в исходник Символ(160), сохранил и вуаля - получилось. Всем спасибо за отклик. |
|||
18
Reset
06.11.12
✎
14:53
|
(17) Оригинально, спс за ссылку
|
|||
19
AndyR
06.11.12
✎
14:56
|
Еще: при записи надо обязательно ставить КодировкаТекста.OEM, просто "cp866" превращает все FF в 3F.
|
|||
20
rrunover
06.11.12
✎
15:40
|
Символ255 = Символ(255);
Стр1 = СтрЗаменить(Стр, "*FF*", Символ255); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |