Duda sobre el codigo ASCII

Imagen de carlosV2.0
0 puntos

Que tal, ubunteros?

 

Mirad, estoy desarrollando un programilla en C y me gustaría saber si en shell, puedo disponer de unos caracteres del antiguo MS-DOS.

No se si los habeis visto y/o acordais, eran los caracteres para dibujar cuadrados y cosas de esas:

 

Angulo: |_ , _| (y al revés)

Linea recta: | , - (pero más ,larga)

Cruz: + (que llegaba a todos los extremos)

y un largo etc de símbolos.

 

Os acordais? Los habeis visto? Sabeis si se pueden poner en la shell? Cómo? (A que soy pesado con tantas preguntas? xD)

 

Muchas gracias!!

 

Carlos 

Imagen de slap
+1
0
-1

Pues tendría que mirarlo para asegurartelo (aquí en el trabajo no tengo Linux :( ), pero creo que sí. De hecho me parece que el comando pstree los usa.

slap

+1
0
-1

Saludos.

0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://www.injiniero.es

Imagen de carlosV2.0
+1
0
-1

Efectivamente, ese comando me ha ejecutado la lista de procesos conectando las lineas entre sí. Eso es lo q necesito. Alguien sabe como sacar el codigo ASCII de esos caracteres para que mi programa los gestione como crea necesario?

 

Muchas gracias!

 

P.D.: Porque al ejecutar: pstree | more, no se ve con las lineas correctas? Es porque el comando more no las utiliza? Se podria corregir? 

 

Carlos

+1
0
-1

Carlos
La solución más sencilla es probablemente la correcta (Navaja de Occam)
Hoy por ti, mañana por mi. Aprender para enseñar

Imagen de carlosV2.0
+1
0
-1

 Buenas,

 

Tenia que hacer unos cálculos con la calculadora de Ubuntu y en esto q me doy cuenta q la calculadora puede darte el codigo ASCII del carácter que le metas.

La cuestión, es que he ejecutado el comando 'pstree', he copiado el caracter ? ( |- ), lo he puesto en la calculadora y me ha dicho que ese carácter, tiene el código ASCII -30...

 

Que significa? Imagino que es porque en realidad, es un caracter Unicode, es así? Como puedo mostrar caracteres Unicode con C?

 

Gracias 

 

Carlos

+1
0
-1

Carlos
La solución más sencilla es probablemente la correcta (Navaja de Occam)
Hoy por ti, mañana por mi. Aprender para enseñar

Imagen de joseluis
+1
0
-1

Revisando el código fuente del pstree (fuente de psmisc) he visto que al principio del fichero pstree.c viene

#define UTF_V	"\342\224\202"	/* U+2502, Vertical line drawing char */
#define UTF_VR	"\342\224\234"	/* U+251C, Vertical and right */
#define UTF_H	"\342\224\200"	/* U+2500, Horizontal */
#define UTF_UR	"\342\224\224"	/* U+2514, Up and right */
#define UTF_HD	"\342\224\254"	/* U+252C, Horizontal and down */

que tiene toda la pinta de ser algunos de los caracteres que buscas.


  • La guia Ubuntu - solución a muchos problemas
  • Google y el buscador de ubuntu-es son tus amigos

Fdo. El forense asesino.

+1
0
-1

Imagen de slap
+1
0
-1

Efectivamente esa es la codificación UTF-8 de los unicodes apropiados.

Los números están en octal.
Y el juego de caracteres unicode lo puedes ver aquí: http://www.unicode.org/charts/PDF/U2500.pdf

Puedes ver como convertir unicode a utf-8 aquí: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8

Y puedes usar la codificación unicode directa:

#define angulo "\u2514"

Saludos.
slap

+1
0
-1

Saludos.

0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://www.injiniero.es

Imagen de carlosV2.0
+1
0
-1

Gracias a todos

 

Gracias, la información aportada me esta siendo muy útil. Ahora quedaría responder, como poner un caracter Unicode en la shell y como ponerlo desde el lenguaje C. Pero si os es mucha molestia, voy a buscarlo por el todopoderoso google.

 

Gracias 

 

Carlos

+1
0
-1

Carlos
La solución más sencilla es probablemente la correcta (Navaja de Occam)
Hoy por ti, mañana por mi. Aprender para enseñar

Imagen de slap
+1
0
-1

En Gnome puedes introducir caracteres unicode con Ctrl+Shift+u+(código unicode). Por ejemplo: Ctrl+Shift+u+2502 te pintaría el carácter barra vertical.

En C tienes que hacerlo como te hemos dicho:

en UTF-8 como "\valor\valor\valor..."
y en unicode como "\uNNNN" (donde NNNN es el código unicode).

Saludos.
slap

+1
0
-1

Saludos.

0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://www.injiniero.es