Перейти к содержимому

Как перевести в ascii

  • автор:

Как преобразовать символ в ASCII в Java

В Java преобразовать символ в ASCII довольно просто, он просто конвертирует символ в int.

Преобразовать символ в ASCII

 int ascii = (int) character; 

Конвертировать ASCII в символ

 char character = (char)ascii; 

Пример на Java

 package com.csharpcoderr.common; /** * Character Utility class * @author mkyong * */ public class CharUtils < /** * Convert the characters to ASCII value * @param character character * @return ASCII value */ public static int CharToASCII(final char character)< return (int)character; >/** * Convert the ASCII value to character * @param ascii ascii value * @return character value */ public static char ASCIIToChar(final int ascii) < return (char)ascii; >> 

Модульный тест

 package com.csharpcoderr.common; import org.testng.Assert; import org.testng.annotations.*; /** * Character Utils Testing * @author mkyong * */ public class CharUtilsTest < @DataProvider public Object[][] ValidDataProvider() < return new Object[][]< < 'A', 65 >,< 'a', 97 >, < 'B', 66 >,< 'b', 98 >, < 'C', 67 >,< 'c', 99 >, < 'D', 68 >,< 'd', 100 >, < 'Z', 90 >,< 'z', 122 >, < '1', 49 >,< '9', 57 >, >; > @Test(dataProvider = "ValidDataProvider") public void CharToASCIITest(final char character, final int ascii) < int result = CharUtils.CharToASCII(character); Assert.assertEquals(result, ascii); >@Test(dataProvider = "ValidDataProvider") public void ASCIIToCharTest(final char character, final int ascii) < char result = CharUtils.ASCIIToChar(ascii); Assert.assertEquals(result, character); >> 

Результат модульного теста

 PASSED: CharToASCIITest(A, 65) PASSED: CharToASCIITest(a, 97) PASSED: CharToASCIITest(B, 66) PASSED: CharToASCIITest(b, 98) PASSED: CharToASCIITest(C, 67) PASSED: CharToASCIITest(c, 99) PASSED: CharToASCIITest(D, 68) PASSED: CharToASCIITest(d, 100) PASSED: CharToASCIITest(Z, 90) PASSED: CharToASCIITest(z, 122) PASSED: CharToASCIITest(1, 49) PASSED: CharToASCIITest(9, 57) PASSED: ASCIIToCharTest(A, 65) PASSED: ASCIIToCharTest(a, 97) PASSED: ASCIIToCharTest(B, 66) PASSED: ASCIIToCharTest(b, 98) PASSED: ASCIIToCharTest(C, 67) PASSED: ASCIIToCharTest(c, 99) PASSED: ASCIIToCharTest(D, 68) PASSED: ASCIIToCharTest(d, 100) PASSED: ASCIIToCharTest(Z, 90) PASSED: ASCIIToCharTest(z, 122) PASSED: ASCIIToCharTest(1, 49) PASSED: ASCIIToCharTest(9, 57) =============================================== com.csharpcoderr.common.CharUtilsTest Tests run: 24, Failures: 0, Skips: 0 =============================================== =============================================== mkyong Total tests run: 24, Failures: 0, Skips: 0 =============================================== 

Ссылка

ЧИТАТЬ ТАКЖЕ: Пример перечисления Java

Преобразование символов в ASCII код в JavaScript

В работе с JavaScript часто встречается задача преобразования символов в их соответствующие ASCII коды. Это особенно актуально при работе с сетевыми протоколами или системами кодирования.

В качестве примера можно привести такой случай. Если есть строка «A», то ее ASCII кодом будет 65. Если есть символ новой строки, «\n», то его ASCII кодом будет 10.

Для выполнения такого преобразования в JavaScript существует встроенная функция charCodeAt() . Эта функция возвращает ASCII код символа, находящегося на указанной позиции в строке.

Например, взгляните на следующий код:

let str = "A"; let asciiCode = str.charCodeAt(0);

В переменной asciiCode будет храниться число 65, что является ASCII кодом символа «A».

Если необходимо преобразовать символ новой строки в ASCII код, можно сделать это следующим образом:

let str = "\n"; let asciiCode = str.charCodeAt(0);

В переменной asciiCode теперь будет храниться число 10.

Таким образом, функция charCodeAt() позволяет преобразовывать символы в их ASCII коды, что может быть полезно во многих задачах при работе с JavaScript.

Перевести строку символов из hex в ascii

Сейчас пока рассматриваю ситуацию когда ввод идёт с пробелами, т.е. идеальный случай. По моей логике программа должна вывести первые три символа так как у меня три итерации цикла. На каждой итерации один символ! Но! Программа ввод запрашивает бесконечно она даже не выходит из первой итерации! У меня есть работающий код, но он не мой.в какой-то степени я упростил чужой код до состояния написанного, что бы самому дойти до осознания как он работает постепенно его усложняя. Сейчас в написанном есть пару лишних конструкций в сравнении с чужим кодом. Прошу помочь разобраться. Если будут другие команды в коде прошу объяснить ибо на данный момент я знаю только то что написано!! Upd 1 Теперь суть в том чтобы на сплошной последовательности программа завершала работу без вывода чего либо! + Цикл не должен ограничиваться тремя выводимыми символами ниже мой код

while (1) < scanf("%2X",&i); printf("%c \n",i); if (getchar()!=' ')< printf("-------end%d\n", j); break; >> 

При вводе 5758 программа выдает от W что меня не устраивает

Как преобразовать число в код ASCII?

Например имеется число 325, его ASCII код 0x33 это 3 ,0x32 это два, 0x35 это пять.
Реализовать это нужно на программном уровне, то есть считая значения с переменной преобразовывая в ASCII код и отправлять на шину дисплея.

  • Вопрос задан более трёх лет назад
  • 3854 просмотра

Комментировать
Решения вопроса 1
VoidVolker @VoidVolker
Dark side eye. А у нас печеньки! А у вас?

  1. Взять число
  2. Разделить с остатком текущее число на текущую систему счисления (десять, если десятичная)
  3. К остатку от деления прибавить 0x30 — получим ASCII код числа
  4. Сохранить код в текущую позицию буфера или отправить куда-то еще
  5. Установить результат деления как текущее число
  6. Повторить, пока результат деления не равен нулю

Ответ написан более трёх лет назад
Vadimm1001 @Vadimm1001 Автор вопроса

325/10 = 32.5 = 0x35 (остаток отбрасываем)
32/10 = 3.2 = 0x32
3/10 = 0.3 = 0x33
Вышло 0x35 = 5
0x32 = 2
0x33 = 3
Вышло число 325
Так?

Vadimm1001 @Vadimm1001 Автор вопроса

Это общий алгоритм. Есть еще такие варианты и нюансы: как дополнительное форматирование для разных систем счисления, целые/числа с плавающей точкой, отрицательные числа, степени, дроби и прочее.

А что нельзя от числа отделить дробную часть? А далее находить от целой и дробной части код ASCII по отдельности?

VoidVolker @VoidVolker

Да, примерно.

А что нельзя от числа отделить дробную часть? А далее находить от целой и дробной части код ASCII по отдельности?

Почему нет? Именно так и делается. Число разбивается на две части — целую и дробную. Обрабатываются обе части и в результирующей строке между ними вставляется разделитель дробной части — точка, запятая или любой другой знак в текущей локализации.

Вот пример парсинга числа в JS/JSON:

Stalker_RED @Stalker_RED

Vadimm1001, все можно. Более того, для большинства систем уже существуют хорошие быстрые алгоритмы перевода числа в строку. Можно не изобретать велосипед, а взять готовый. Ну или как минимум посмотреть на образец.

VoidVolker @VoidVolker

Да. Самостоятельная реализация имеет смысл в образовательных целях или в специфических случаях со специфическими форматами.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *