2010-06-25 6 views
7

Nelle versioni precedenti di Delphi, potrei usareQual è l'equivalente di chr (153) (Il TM SIMBOLO) in Unicode

s:=chr(153); 

per ottenere un simbolo del marchio in una stringa. In Delphi 2010, non funziona più, forse con unicode. Qual è la stringa di codice equivalente per inserire il simbolo TM nella mia stringa?

+3

Hai mai sentito parlare di charmap.exe? Premi Win + R, scrivi "charmap.exe", premi Invio, seleziona un font Unicode decente (es. Arial Unicode MS o Lucida Sans Unicode o, in questo caso, anche Tahoma), seleziona la modalità Avanzata, assicurati che il set di caratteri sia Unicode e cerca "marchio". –

+1

A proposito: cosa ha a che fare questo con ASCII? Vi sono solo 128 caratteri ASCII, denominati 0, 1, ..., 127. Probabilmente si intende ANSI o Windows-1252. –

+0

Cosa c'è di sbagliato nell'usarlo letteralmente? 'S: = '™';'? –

risposta

9

Sono abbastanza sicuro che chr(153) è "O" (Code page 437), Oh aspetta, si tratta di "r" (EBCDIC 037).

In realtà chr(153) non è definito a meno che non si specifichi anche la tabella codici che si sta utilizzando.
Quale è esattamente la ragione per cui si dovrebbe usare Unicode.

Wikipedia ha pagine per la maggior parte Unicode symbols e include l'Unicode codepoint per loro.

C'è il piano trademark symbol con codice Unicode U + 2122 (Delphi: Chr($2122) o #$2122).
C'è anche il registered trademark symbol con codice unicode U + 00AE (Delphi: Chr($00AE) o #$00AE).

Il unicode site ha un list of charts dove è possibile trovare tutti i simboli, ma ci vuole tempo per capire come trovarli (poiché il numero di grafici è un po 'grande).
Il simbolo del marchio semplice fa parte di letterlike symbols.
Il simbolo del marchio registrato fa parte dello latin-1 supplement.

--jeroen

+1

Vorrei anche creare un caso per il libro Unicode. Una volta ho recuperato il libro Unicode 4.0 da un cestino degli affari, ed è un'arma fantastica :-) Può anche essere usato come riferimento btw. –

3

Come per la Unicode code chart for "letterlike symbols", il simbolo TM è Unicode U + 2122. Non conosco abbastanza Delphi per sapere come lo trasformi in un personaggio - forse

s := chr(8482); 

? (8482 è il decimale per esadecimale 2122.)

In alternativa, dopo aver guardato this page, si potrebbe provare:

+2

... o anche S: = # 8482; –

+0

In Delphi, sarebbe # $ 2122 - il segno # indica un carattere, e $ lo rende un numero esadecimale. –

1

E 'carattere U + 2122 (http://www.fileformat.info/info/unicode/char/2122/index.htm). Non ho usato Delphi per molto tempo, ma prima di ogni altra cosa dovresti provare ad inserire il personaggio direttamente (probabilmente usando un'utilità di mappa dei caratteri come charmap.exe di Windows o BabelMap). È più facile da leggere di qualsiasi altra cosa.

0

Per scoprire il codepoint Unicode per un determinato carattere, accessori open -> Utilità di sistema -> Mappa caratteri, selezionare un carattere Unicode, cercare il carattere desiderato, nell'angolo in basso a sinistra della l'applicazione visualizza il codice Unicode.

Problemi correlati