# "RELP " Converter método (getKey ) de ASCII para String

**URL:** <https://forum.fazedores.com/t/relp-converter-metodo-getkey-de-ascii-para-string/6178>\
**Category:** Arduino\
**Created:** [Março 31, 2019, 4:03pm UTC](https://forum.fazedores.com/t/relp-converter-metodo-getkey-de-ascii-para-string/6178 "2019-03-31T16:03:26Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![SNIescas](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/sniescas/32/2699_2.png) [@SNIescas](https://forum.fazedores.com/u/SNIescas)\
**Post date:** [Março 31, 2019, 4:03pm UTC](https://forum.fazedores.com/t/relp-converter-metodo-getkey-de-ascii-para-string/6178/1 "2019-03-31T16:03:26Z")

</div>

Saudações colega paz seja com todos

Necessito converter um padrão de ASCII gerado pelo método (getKey) para uma string

o meu programa atual lê um código de barras do arquivo (um) em anexo e retorna o código (48 19) na porta serial conforme a imagem do anexo dois. O código utilizado no Arduino DUE esta no anexo 3. Alguem poderia por favor me mostrar como aplicar a regra de conversão que segue abaixo no meu código por favor?

Regra:

Você utilizar o método método toString(), para converter códigos ASCII para String de acordo com o código abaixo:

**int** i = 64;  
**_Arquivo 1 \*\*\*\*\*\*  
String aChar = new Character(( char )i).toString(); ![Codigo%20de%20barras](https://us1.discourse-cdn.com/flex016/uploads/fazedores/original/2X/2/265c045c9f280349174caae4f0f1422fd317efe9.jpeg)  
 Arquivo 2_**

 ![Retorno%20da%20leitura%20na%20porta%20serial](https://us1.discourse-cdn.com/flex016/uploads/fazedores/original/2X/f/f53b1daf558c426c3f9a06a753287ebda95934db.png)  
**Arquivo 3 Codigo INO**  
// Require keyboard control library  
#include \<KeyboardController.h\>  
#include \<due\_can.h\>

// Initialize USB Controller  
USBHost usb;  
// Attach keyboard controller to USB  
KeyboardController keyboard(usb);  
void keyPressed() {  
printKey();  
}  
void printKey() {  
// getOemKey() returns the OEM-code associated with the key  
Serial.print(keyboard.getKey());  
}  
void setup()  
{  
Serial.begin(9600);  
while(!Serial);  
}  
void loop()  
{  
// Process USB tasks  
usb.Task();  
}

---

<div class="post-metadata">

**Author:** ![Arnold\_Rudge](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/arnold_rudge/32/1675_2.png) [@Arnold\_Rudge](https://forum.fazedores.com/u/Arnold_Rudge)\
**Post date:** [Abril 1, 2019, 3:42am UTC](https://forum.fazedores.com/t/relp-converter-metodo-getkey-de-ascii-para-string/6178/2 "2019-04-01T03:42:42Z")

</div>

Cria um string tipo :

String meuString = “”;  
dai :

meuString = meuString + ‘A’;

meuString = meuString + ‘b’;

meuString = meuString + ‘3’;

assim voce vai ter

meuString = “Ab3”

---

<div class="post-metadata">

**Author:** ![SNIescas](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/sniescas/32/2699_2.png) [@SNIescas](https://forum.fazedores.com/u/SNIescas)\
**Post date:** [Abril 1, 2019, 9:29am UTC](https://forum.fazedores.com/t/relp-converter-metodo-getkey-de-ascii-para-string/6178/3 "2019-04-01T09:29:29Z")

</div>

Bom dia colega muito obrigado pela atenção provavelmente eu não tenha explicado corretamente o retorno da leitura do ASCII para o código de barra com valor 0 e de dois decimais com 4 dígitos eu preciso que ele retorne as penas o (zero) do código de barras como faço isso?

---

<div class="post-metadata">

**Author:** ![Arnold\_Rudge](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/arnold_rudge/32/1675_2.png) [@Arnold\_Rudge](https://forum.fazedores.com/u/Arnold_Rudge)\
**Post date:** [Abril 2, 2019, 11:37am UTC](https://forum.fazedores.com/t/relp-converter-metodo-getkey-de-ascii-para-string/6178/4 "2019-04-02T11:37:40Z")

</div>

O ASCII e apenas associar uma letra com uma combinação de 8 bits

Sendo a letra ‘A’ em ASCII = 01000001. . Então no fundo você está manipulando sempre um byte. Então podemos dizer que :

01000001 salvo como char vira ‘A’  
01000001 salvo com int vira o número 65  
‘A’ + ‘A’ = ‘é’  
Porque 65+65 = 130  
e tudo a mesma coisa!

No caso de um Zero em ASCII ele e o valor  
‘0’= 00110000 =48  
‘1’= 00110001 =49  
‘2’= 00110010 =50  
‘3’= 00110011= 51

Então se você pode fazer assim :  
‘0’ - ‘0’ = 0  
Porque 48-48= 0

Digamos No caso do ASCII ‘3’

‘3’ - ‘0’ = 3  
Porque 51-4=3

Com isso você pode somar o valor multiplicado pela poscisao dos chars uma vez que virem inteiros.

Tipo no seu 4819 = (4x1000)+(8x100)+(1x10)+9=4819

E no caso de so zero (0x1000)+(0x100)+(0x10)+0 =0
