Jak rozpoznać te dwa znaki?

Jak rozpoznać te dwa znaki?
Dar Gbu
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Czesc

Mam dwa znaki char '�' oraz '?' - zwykly znak zapytania.
Jak je rozpoznać z poziomu JAVA?
Operator == mówi mi ze sa takie same znaki.

Wartosc int znaków to 63.
Znak �jest znakiem specjalnym UNICODE. https://unicode-table.com/en/FFFD/

Robiłem testy w postaci:

Test 1:

char c1 = '?';
char c2 = '?';
if(c1 == c2)
{
System.out.println("false");
}
Result: false

Test2:

char c1 = '?';
char c2 = '�';
if(c1 == c2)
{
System.out.println("false");
}

Result: false

Test3:
char c1 = '?';
char c2 = '�';
System.out.println("int value of c1 = "+(int)c1);
System.out.println("int value of c2 = "+(int)c2);

Result:
int value of c1 = 63
int value of c2 = 63

Jak odroznic te dwa znaki z poziomu JAVA?

mr_jaro
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Grudziądz/Bydgoszcz
  • Postów: 5300
9

Pod tym pierwszym znakiem może kryć się wiele innych znaków, bo pokazuje się on w edytorach gdy nie potrafi wyświetlić edytor właściwego znaku.

Dar Gbu
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

@mr_jaro: No właśnie tu mam problem jak się do niego dobrać? Problem w tym, że przeglądarka odczytuje mi go jako � i do bazy jak zapisuje, to tez widzę �. Ale nie potrafię z poziomu JAVA ich odróżnić.

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5550
3

Hm, Ja dla drugiego i trzeciego testu dostaję zupełnie inne wyniki. Dla drugiego nic nie wypisuje. A dla trzeciego mam:

Kopiuj
int value of c1 = 63
int value of c2 = 65533
Dar Gbu
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

@KamilAdam: No rzeczywiscie. od 4 dni szukam rozwiazania. I teraz u mnie tez pokazuje :
int value of c1 = 63
int value of c2 = 65533

Co za duchy mi tu wlazly. Pozostanie to chyba do konca tajemnica.
Dziekuje bardzzo za wsparcie.

piotrpo
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3303
0

Spróbuj wrzucić te znaki do stringów i porównaj przez equals.

SH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 69
0

@Dar Gbu:

W jakim IDE piszesz, i jak masz skonfigurowane?

Pisanie sursów z międzynarodowymi literkami jest kuszące - sam to robię, np polskie napisy, ale ma subtelności, np moze działać na innej instalacji lub nie.
Np inne wyniki u kolegów niż u ciebie

mr_jaro napisał(a):

Pod tym pierwszym znakiem może kryć się wiele innych znaków, bo pokazuje się on w edytorach gdy nie potrafi wyświetlić edytor właściwego znaku.

I to jest właściwa interpretacja.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.