Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
Не мoдepaтор
 Аватар для MVS76
340 / 315 / 94
Регистрация: 07.07.2012
Сообщений: 1,040
Записей в блоге: 7

Signed char перевести с unsigned char

06.10.2016, 20:38. Показов 1611. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую!
Помогите решить проблему с переводом.
Есть строка вида: -23,99,-105,-42,-112,29,30,103,-74,101,-123,-104,58,-111,11,-32,
Это обычная строка, но зашифрованная в signed char(С++): диапазон от -128...127
  • signed char: -128...127
  • unsigned char: 0...255
Никак не могу сообразить, как её перевести в диапазон 0...255 и после этого привести к читабельному виду на сервере.
Вот тут перевёл слово: balance, на выходе получил цифры: 98,97,108,97,110,99,101
PHP
1
2
3
4
5
6
7
8
9
 //$word_data = array('b','a','l','a','n','c','e');
 //$word_data = array(98,97,108,97,110,99,101);
 $word_data = array(-124,17,-81,-11,58,-107,-41,-32,-29,-54);
 $res="";
  foreach($word_data as $word) {
   $res= pack('c',$word);    
    echo ' '.($res[1]);
    print_r( ($res) );
  }
Вот теперь вопрос: каким образом можно прочесть отрицательные числа? Я так полагаю, что их нужно перевести в диапазон от 0...255 и после прочесть, или ошибаюсь?

Задача состоит в том, что нужно каким-то образом привести к читабельному виду такие строки: -23,99,-105,-42,-112,29,30,103,-74,101,-123,-104,58,-111,11,-32,

Сейчас у меня при переводе вот такая картина:
� � � : � � � � �

Спасибо за помощь!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.10.2016, 20:38
Ответы с готовыми решениями:

Ошибка в коде $char = array (name=>'Bob', age=>'30') print $char[age];
<HTML><BODY> <?php $char = array ( name=>'Bob', age=>'30' ) print $char; ?> ...

Перенос массива char в массив string
Скажите пожалуйста, есть 2 массива 1й двумерный char и его мне нужно перенести в одномерный string, всё написал работает только 6...

Char unsigned char signed char длинна Кааак
Здравствуйте. char l = {0,0}; l = 0xff; Почему, меня, компилятор не посылает куда подальше. Нет он конечно...

12
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
06.10.2016, 21:25
если меньше нуля прибавить 256
0
Не мoдepaтор
 Аватар для MVS76
340 / 315 / 94
Регистрация: 07.07.2012
Сообщений: 1,040
Записей в блоге: 7
06.10.2016, 21:39  [ТС]
signed char: -128...127
127+256 = 383 (и что будет?)
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
06.10.2016, 21:41
Цитата Сообщение от MVS76 Посмотреть сообщение
127+256 = 383 (и что будет?)
Цитата Сообщение от Jewbacabra Посмотреть сообщение
если меньше нуля прибавить 256
Внимательно читайте.
0
Не мoдepaтор
 Аватар для MVS76
340 / 315 / 94
Регистрация: 07.07.2012
Сообщений: 1,040
Записей в блоге: 7
06.10.2016, 21:54  [ТС]
ну а как быть с положительными, к примеру 11, она ведь не измениться, соответственно будет не в том диапазоне, или Я торможу?
Если можно - покажите на примере)
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
06.10.2016, 22:02
Цитата Сообщение от MVS76 Посмотреть сообщение
Я торможу?
по ходу да
Цитата Сообщение от MVS76 Посмотреть сообщение
Если можно - покажите на примере)
PHP
1
array_map(function($num) { echo "$num signed is " . ($num + ($num < 0 ? 256 : 0)) . " unsigned<br>"; }, range(-128, 127));
0
Не мoдepaтор
 Аватар для MVS76
340 / 315 / 94
Регистрация: 07.07.2012
Сообщений: 1,040
Записей в блоге: 7
06.10.2016, 22:24  [ТС]
Да, спасибо всё перевело. Но вот почему-то прочесть строку не могу, пишет какую-то муть, вместо вменяемого текста:
PHP
1
2
3
4
5
6
7
 $word_data = array(18,59,4,98,107,231,237,26); // оригинал 18,59,4,98,107,-25,-19,26
 $res="";
  foreach($word_data as $word) {
   $res= pack('c',$word);    
    echo ' '.($res[1]);
    print_r( ($res) );
  }
 ;  b k � � 

Я с таким кодированием никогда не сталкивался, поэтому тема для меня новая, прошу не пинать, а подсказать.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
06.10.2016, 22:35
Цитата Сообщение от MVS76 Посмотреть сообщение
Я с таким кодированием никогда не сталкивался
С какими, я ни одного указания кодировки не вижу, более того во всех мне известных стандартных кодировках символы с кодами от 0 до 127 одинаковы, при этом от 0 до 31 это служебные символы, некоторые символы из примера попадают в служебные
Цитата Сообщение от MVS76 Посмотреть сообщение
оригинал 18,59,4,98,107,-25,-19,26
Если считать что кодировка KOI8, то
Code
1
 ;  b k Г М
если windows-1251
Code
1
 ;  b k з н
0
Не мoдepaтор
 Аватар для MVS76
340 / 315 / 94
Регистрация: 07.07.2012
Сообщений: 1,040
Записей в блоге: 7
06.10.2016, 22:45  [ТС]
Немного не так изложил суть проблемы.
Кодирует это дело приложение написанное на С
После этого отправляет на сервер, и задача состоит в том, чтоб это всё раскодировать на стороне сервера php.
Вот такие строки кодирует:
29301441,1475681547,0,0.01,EURUSD,1.1207 ,0.0000,0.0000,1475690944,1.1213,0.00,0. 00,0.60,,13134545

вот в такие и post-ом отправляет:
46,112,-66,104,-71,52,103,59,116,-86,46,23,-127,-19,112,81,-16,91,13,96,63,7,-89,101,-62,114,-110,2,-98,-75,101,-74,-3,-39,-88,-110,-63,-115,-49,14,-33,-93,-45,124,-101,-56,-85,-73,-116,52,25,-111,26,-49,65,-15,56,-27, 121,-100,-33,-13,-21,108,96,-40,44,-85,107,32,39,-59,67,112,4,92,-89,73,-103,-5,-47,106,63,-61,-105,-57,0,121,-109,-14,127,-94,-28,48,-123,100,96,53,40,-31,-45,85,-115,16,-50,79,-20,-112,-84,34,-44,117,31,95,-101,124, 111,75,-64,120,107,-87,-115,-118,-27,-125,-27,65,

И не могу раскодировать на сервере.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
06.10.2016, 22:49
Цитата Сообщение от MVS76 Посмотреть сообщение
И не могу раскодировать на сервере.
Чтобы знать как раскодировать нужно знать как закодировано
0
Не мoдepaтор
 Аватар для MVS76
340 / 315 / 94
Регистрация: 07.07.2012
Сообщений: 1,040
Записей в блоге: 7
06.10.2016, 22:54  [ТС]
Вот так)
Кликните здесь для просмотра всего текста
C#
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
        private void encryptState()
        {
            FileInfo f = new FileInfo("statement" + this.AccountTextBox.Text.ToString() + ".decrypted.txt");
            if (!f.Exists)
            {
                MessageBox.Show("statement not exist. make statement before encrypt it", "FUCK NO!!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
 
            FileInfo f2 = new FileInfo("statement" + this.AccountTextBox.Text.ToString() + ".txt");
 
            if (f2.Exists)
            {
                File.Delete(f2.FullName);
            }
 
            StringBuilder sb = new StringBuilder();
 
            string[] orderslist = System.IO.File.ReadAllLines(f.FullName+"");
 
            foreach (var order in orderslist)
            {
                MyfxbookDLL.SecurityManager s = new MyfxbookDLL.SecurityManager();
 
                sbyte[] outs;
                if (this.TrimStatmentBox.Checked)
                    outs = (sbyte[])((Array)s.EncryptedStringUsingRsa(order.ToString()));
                else
                    outs = (sbyte[])((Array)s.EncryptedStringUsingRsa(order.ToString() + "\r\n"));
 
                byte[] encryptedBytes = s.EncryptedStringUsingRsa(order.ToString());
                string data = MyfxbookDLL.Program.GetStringByteArray(outs);
 
                if (this.unixEOLCheckBox.Checked)
                    sb.Append(data + "\r\n");
                else
                    sb.AppendLine(data);
            }
 
            System.IO.File.WriteAllText(f2.FullName, sb.ToString());
            Log("File Encrypted", w);
 
        }
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
06.10.2016, 23:08
Цитата Сообщение от MVS76 Посмотреть сообщение
EncryptedStringUsingRsa
Нужно знать ключи для дешифровки RSA
0
Не мoдepaтор
 Аватар для MVS76
340 / 315 / 94
Регистрация: 07.07.2012
Сообщений: 1,040
Записей в блоге: 7
06.10.2016, 23:36  [ТС]
А без них никак, ну как-то подобрать, Я в С ни в зуб ногой, это не моя стихия)
Ключи... о них нигде не читал, чтоб где-то указывались при раскодировке на php

Добавлено через 8 минут
Вот, нашёл ключ в программе, там папок 100 наверное, и они мне на одно лицо, как китайцы) Писатель проги пропал, поддерживать больше некому.
C#
1
2
3
<RSAKeyValue><Modulus>oyAFCMJbdfgtObA91JAGppv8L7KxtamiO+QP3eFsQfM+1vTtEBncoWLfy8Wc9IJBMFeA4ADsWwpV
/8O8zSgl5pDyl9rjCWtq+OC+DyYeZSupBDsHTLZ4BKtVkAuN2rtW7ZHNdZUwrNux6IIBJQQIIMdA
t3FXiMwlilPhXfMyTe0=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>
Добавлено через 15 минут
И вот ещё один:
// EncryptedStringUsingRsa
$de8fd77c-11ef-40db-828b-8d168a04ff19

Добавлено через 1 минуту
Так а как этим делом воспользоваться, чтоб получить вменяемую строку на сервере?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.10.2016, 23:36
Помогаю со студенческими работами здесь

Надо перевести переменную типа unsigned char* в signed int и обратно
у меня есть переменная типа unsigned char*, мне нужно перевести ее в signed int , провести арифметические вычисления и затем перевести ее...

Тип signed char и unsigned char
Есть путаница в типах данных в Си signed char и unsigned char. Если объявить переменную следующим образом char symbol;То компилятор сам...

Значения типов данных (signed, unsigned, char)
Програмирую я месяца два,но не понимаю значения типов данных : signed, unsigned, char...Помогите..

Тип char.Signed/unsigned.Отличие типов данных.
Вопрос немного может быть не туда... Прошу прощения. Пишу прошивку к контроллеру, на С. Интересует отличие типов данных. ДОпустим есть тип...

Каким бы стоило сделать тип char по умолчанию — signed или unsigned?
Появился такой вопрос: каким бы стоило сделать тип char по умолчанию - signed или unsigned?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru