Java UniCode

monimeindel94

Grünschnabel
Guten Tag

ich habe ein Java Array mit dem Inhalt {"\u00E4", "a"}. Wenn ich das Array wieder per Java ausgeben will, dann bekomme ich die Zeichen ä und a. das ist okay. Aber ich hab ein Frage: Ist es in Java möglich, dass ich das Array Eins zu Eins kopiere, d.h. ich bekomme die Original-Ausgabe "\u00E4", "a"? und nicht ä und a


Lg Moni
 
Hi

\u - Nummern werden schon zur Compilezeit durch die entsprechenden Zeichen ersetzt.
Im fertigen Programm gibt es nur noch ä, und keine Infos darüber wie das entstanden ist.
Die 1:1-Kopie ist ä a.

Was genau willst du erreichen?

Wenn man (warum auch immer) direkt \u00e4 ausgeben will müsste der String im Code dazu "\\u00e4" lauten, also zwei \, um die automatische Ersetzung durch Zeichen zu verhindern (und \\ wird durch \ ersetzt). Das hat dann aber keinen Bezug zu ä mehr.

Oder man könnte das ursprüngliche Array (ä a) so ausgeben, dass alles außer die reinen ASCII-Zeichen (a-z usw.) eben in der \u - Schreibweise ausgegeben wird (mit etwas mehr Code als einer Zeile). Nachteil daran ist, dass auch Zeichen, die auf einen andere Art als \u entstanden sind, so angeschrieben werden. Wie gesagt, zur Laufzeit weiß das Programm nicht mehr, wie das Zeichen entstanden ist.
 
Die Frage macht für mich leider keinen Sinn.
Bitte beschreib, was du vorhast bzw. warum du das machen willst.
 
ich wollte "\u00E4" in ä umwamdeln. Gibt es in Java eine eingebaute Methode dafür, dass ich alle Sonderzeichen in html umwandeln kann?
 
Ah, jetzt versteh ich.

Eingebaut gibt es meines Wissens nach nichts dafür, mit der Liste unten könnte man sich aber relativ einfach was selber basteln. Vorne der char-Wert, hinten der Name ( ohne & und ; )

Wenn es nur darum geht, Umlaute etc. auf einer Website richtig anzuzeigen, sollte es aber reichen, die entsprechende Datei als UTF8 auszuliefern (und ggf. passende Serverheader dazugeben) Wenn die Seite mit Java generiert wird und es deswegen nicht geht: Mit welchem System/Framework/etc. wird die Seite gemacht?

---

Code:
34 : 'quot', 
38 : 'amp', 
39 : 'apos', 
60 : 'lt', 
62 : 'gt', 
160 : 'nbsp', 
161 : 'iexcl', 
162 : 'cent', 
163 : 'pound', 
164 : 'curren', 
165 : 'yen', 
166 : 'brvbar', 
167 : 'sect', 
168 : 'uml', 
169 : 'copy', 
170 : 'ordf', 
171 : 'laquo', 
172 : 'not', 
173 : 'shy', 
174 : 'reg', 
175 : 'macr', 
176 : 'deg', 
177 : 'plusmn', 
178 : 'sup2', 
179 : 'sup3', 
180 : 'acute', 
181 : 'micro', 
182 : 'para', 
183 : 'middot', 
184 : 'cedil', 
185 : 'sup1', 
186 : 'ordm', 
187 : 'raquo', 
188 : 'frac14', 
189 : 'frac12', 
190 : 'frac34', 
191 : 'iquest', 
192 : 'Agrave', 
193 : 'Aacute', 
194 : 'Acirc', 
195 : 'Atilde', 
196 : 'Auml', 
197 : 'Aring', 
198 : 'AElig', 
199 : 'Ccedil', 
200 : 'Egrave', 
201 : 'Eacute', 
202 : 'Ecirc', 
203 : 'Euml', 
204 : 'Igrave', 
205 : 'Iacute', 
206 : 'Icirc', 
207 : 'Iuml', 
208 : 'ETH', 
209 : 'Ntilde', 
210 : 'Ograve', 
211 : 'Oacute', 
212 : 'Ocirc', 
213 : 'Otilde', 
214 : 'Ouml', 
215 : 'times', 
216 : 'Oslash', 
217 : 'Ugrave', 
218 : 'Uacute', 
219 : 'Ucirc', 
220 : 'Uuml', 
221 : 'Yacute', 
222 : 'THORN', 
223 : 'szlig', 
224 : 'agrave', 
225 : 'aacute', 
226 : 'acirc', 
227 : 'atilde', 
228 : 'auml', 
229 : 'aring', 
230 : 'aelig', 
231 : 'ccedil', 
232 : 'egrave', 
233 : 'eacute', 
234 : 'ecirc', 
235 : 'euml', 
236 : 'igrave', 
237 : 'iacute', 
238 : 'icirc', 
239 : 'iuml', 
240 : 'eth', 
241 : 'ntilde', 
242 : 'ograve', 
243 : 'oacute', 
244 : 'ocirc', 
245 : 'otilde', 
246 : 'ouml', 
247 : 'divide', 
248 : 'oslash', 
249 : 'ugrave', 
250 : 'uacute', 
251 : 'ucirc', 
252 : 'uuml', 
253 : 'yacute', 
254 : 'thorn', 
255 : 'yuml', 
402 : 'fnof', 
913 : 'Alpha', 
914 : 'Beta', 
915 : 'Gamma', 
916 : 'Delta', 
917 : 'Epsilon', 
918 : 'Zeta', 
919 : 'Eta', 
920 : 'Theta', 
921 : 'Iota', 
922 : 'Kappa', 
923 : 'Lambda', 
924 : 'Mu', 
925 : 'Nu', 
926 : 'Xi', 
927 : 'Omicron', 
928 : 'Pi', 
929 : 'Rho', 
931 : 'Sigma', 
932 : 'Tau', 
933 : 'Upsilon', 
934 : 'Phi', 
935 : 'Chi', 
936 : 'Psi', 
937 : 'Omega', 
945 : 'alpha', 
946 : 'beta', 
947 : 'gamma', 
948 : 'delta', 
949 : 'epsilon', 
950 : 'zeta', 
951 : 'eta', 
952 : 'theta', 
953 : 'iota', 
954 : 'kappa', 
955 : 'lambda', 
956 : 'mu', 
957 : 'nu', 
958 : 'xi', 
959 : 'omicron', 
960 : 'pi', 
961 : 'rho', 
962 : 'sigmaf', 
963 : 'sigma', 
964 : 'tau', 
965 : 'upsilon', 
966 : 'phi', 
967 : 'chi', 
968 : 'psi', 
969 : 'omega', 
977 : 'thetasym', 
978 : 'upsih', 
982 : 'piv', 
8226 : 'bull', 
8230 : 'hellip', 
8242 : 'prime', 
8243 : 'Prime', 
8254 : 'oline', 
8260 : 'frasl', 
8472 : 'weierp', 
8465 : 'image', 
8476 : 'real', 
8482 : 'trade', 
8501 : 'alefsym', 
8592 : 'larr', 
8593 : 'uarr', 
8594 : 'rarr', 
8595 : 'darr', 
8596 : 'harr', 
8629 : 'crarr', 
8656 : 'lArr', 
8657 : 'uArr', 
8658 : 'rArr', 
8659 : 'dArr', 
8660 : 'hArr', 
8704 : 'forall', 
8706 : 'part', 
8707 : 'exist', 
8709 : 'empty', 
8711 : 'nabla', 
8712 : 'isin', 
8713 : 'notin', 
8715 : 'ni', 
8719 : 'prod', 
8721 : 'sum', 
8722 : 'minus', 
8727 : 'lowast', 
8730 : 'radic', 
8733 : 'prop', 
8734 : 'infin', 
8736 : 'ang', 
8743 : 'and', 
8744 : 'or', 
8745 : 'cap', 
8746 : 'cup', 
8747 : 'int', 
8756 : 'there4', 
8764 : 'sim', 
8773 : 'cong', 
8776 : 'asymp', 
8800 : 'ne', 
8801 : 'equiv', 
8804 : 'le', 
8805 : 'ge', 
8834 : 'sub', 
8835 : 'sup', 
8836 : 'nsub', 
8838 : 'sube', 
8839 : 'supe', 
8853 : 'oplus', 
8855 : 'otimes', 
8869 : 'perp', 
8901 : 'sdot', 
8968 : 'lceil', 
8969 : 'rceil', 
8970 : 'lfloor', 
8971 : 'rfloor', 
9001 : 'lang', 
9002 : 'rang', 
9674 : 'loz', 
9824 : 'spades', 
9827 : 'clubs', 
9829 : 'hearts', 
9830 : 'diams', 
338 : 'OElig', 
339 : 'oelig', 
352 : 'Scaron', 
353 : 'scaron', 
376 : 'Yuml', 
710 : 'circ', 
732 : 'tilde', 
8194 : 'ensp', 
8195 : 'emsp', 
8201 : 'thinsp', 
8204 : 'zwnj', 
8205 : 'zwj', 
8206 : 'lrm', 
8207 : 'rlm', 
8211 : 'ndash', 
8212 : 'mdash', 
8216 : 'lsquo', 
8217 : 'rsquo', 
8218 : 'sbquo', 
8220 : 'ldquo', 
8221 : 'rdquo', 
8222 : 'bdquo', 
8224 : 'dagger', 
8225 : 'Dagger', 
8240 : 'permil', 
8249 : 'lsaquo', 
8250 : 'rsaquo', 
8364 : 'euro'
 
Vielen Dabnk für alle Feedback


Es ist bersser wenn ich das Problem ausführlich darstelle: ich habe ein Array über vieles Musiker, deren Name in verschiedenen Sprachen sein können,. Daher hat man die Namen als \\uXXXX gespeichert. Nun will man die Musiker als HTML,. Als SQL in UTF-8 und als normalen Text ausgeben. Hat jemand eine Idee wie ich alle Diese Umwandlungen möglichst effizient durchführen kann? Die Umwandlung wie 221 : 'Yacute', finde ich nicht gut genug, da im worst case muss ich bis zu 65000 Zeilen schreiben, denn die Namen können in jeder möglichen Sprachen sein.
 
Aus diesem Grund, sollte wie sheel schon anführte, die Ausgabe an den Browser in UTF-8 erfolgen, denn dann kann jedes Zeichen in seinem (Multi-)Byte-Code gesendet werden, und man muss solche Hexereien wie Umwandlungen in HTML-Entities nicht duchführen.
 
Zurück