2012-04-11 13 views
7

Mam ciąg 00B0, który jest Unicode znaku stopnia, w jaki sposób mogę przekonwertować na symbol?Jak przekonwertować znak Unicode 00B0 (znak stopnia)?

var str = "00B0"; 
var degreeSign = convesion(str); 
console.log(degreeSign); 

Jak to możliwe?

+0

pokrewne: http://stackoverflow.com/questions/9878483/php-equivlent-of-fromcharcode/9878531#9878531 One for PHP –

Odpowiedz

7
console.log('\u00B0');​​​​​​ // outputs ° in my chrome console 

więc w zasadzie: '\ u00B0'

+2

jak to jest zrobione. [MDN - wartości, zmienne i literały: sekwencje specjalne Unicode] (https://developer.mozilla.org/en/JavaScript/Guide/Values,_Variables,_and_Literals#Unicode_escape_sequences). Możesz dodać ten link i usunąć "To działa dla mnie", aby poprawić swoją odpowiedź. –

+0

i tak zrobiłem;) –

+0

Problem z tym podejściem polega na tym, że napis '00B0'' nie może być łatwo przekształcony w ciąg' '\ u00B0''. Literał łańcuchowy ''\ u00B0'' jest pojedynczym znakiem, ale' '\ u' + str' nie działa, aby to stworzyć. Będziesz musiał stworzyć kod dla literału ciągu, a następnie wykonać kod, aby uzyskać ciąg znaków. – Guffa

1

Można używać znaków Unicode w formacie HTML, wykonując tym przykładzie

° 

Znak stopni pojawi się tak: & # x00B0;

edytuj: Z wyjątkiem tego pytania jest oznaczone jako Node.js. Jaki jest cel uzyskania symbolu? Czy to front-end czy back-end?

5

Analizować ciąg do numeru, aby uzyskać kod znaku, a następnie użyć metody String.fromCharCode aby utworzyć ciąg z niego:

var degreeSign = String.fromCharCode(parseInt(str, 16)); 
+0

Dzięki, Teraz mam ciąg znaków, który zawiera pewien specjalny znak (w ciągu znaków Unicode). Jak mogę to zdekodować? E.g var str = "002E002C002D0021003F0040007E005F000A005C002F002600220027003B005E007C003A00280029003C007B007D003E005"; jakiś pomysł? proszę ... –

+0

@PareshThummar: Weź cztery znaki na raz z ciągu i spróbuj je jak powyżej: http://jsfiddle.net/Guffa/DXf3R/ – Guffa

2

Jeśli masz pewność, że łańcuch jest dobrze uformowane, można również zrobić to tak:

var degreeSign = eval("('\\u" + str + "')"); 
+0

Dziękuję bardzo. –

Powiązane problemy