Autor Wątek: Czy znak PLUS zawsze jest plusem? (kodowanie znaków)  (Przeczytany 3385 razy)

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Zamierzam wprowadzić niewielką poprawkę w nazwach plików w AYGOR.
Pytam o to, ponieważ startując z AYGOR online, player nie grał utworów, które miały w nazwie pliku znak &
i we wszystkich Olli_&_Lissa, North_&_South musiałem zmienić "&" na "and".

Utwory, które są dla niestandardowych konfiguracji (czyli wszystko inne niż ZX Spectrum, AY i beeper) mają dopisane w nazwach
_TS _SAA (dla TurboSound i chipu SAA), _ZX i _CPC dla plików z tej samej gry z różnych maszyn.
Podobnie, w archiwum HVSC z muzyką z C64 wszystkie utwory stereo, mają dopisek _2SID.

Planowana poprawka ma zastąpić znak "_" między tytułem a dopiskiem, znakiem "+".
Istnieje utwór na Atari ST o tytule "I Want SID".
Ja znalazłem utwór na chip SAA o tytule "I Want", nazwa pliku wg schematu wychodzi I_Want_SAA
Każdy może napisać utwór pod tytułem "I Want SAA" np. na beeper i będzie problem mylącej nazwy.

Teraz, czy użycie znaku "+" w nazwach plików jest jednakowo interpretowane w różnych, przynajmniej współczesnych standardach kodowania?
Jak to przedstawia się dla wyszukiwarek? Znak "_" jest ignorowany, a plus czasem oznacza szukaj "A+B".

Kilka innych dwuznacznych przykładów przedstawiam na obrazku poniżej.

AY Music, ULA plus.

matofesi

  • *****
  • Wiadomości: 2048
  • Miejsce pobytu:
    Toruń/Poland
Odp: Czy znak PLUS zawsze jest plusem? (kodowanie znaków)
« Odpowiedź #1 dnia: 2016.04.12, 08:15:08 »
Plus jest też używany jako separator słów w wypadku zapytań kodowanych do URLi (np. http://jakas.strona.com/search?q=jakis+tekst+do+wyszukiwania). W takiej sytuacji musiałbyś się upewnić, że wystawiając pliki "na zewnątrz" plus nie będzie ci się kaszanił - powinien się prawdopodobnie w URLach zamieniać na %2B.

Nie jestem pewien czy lepszym rozwiązaniem nie byłoby wzięcie technicznej części nazwy np w nawiasy kwadratowe:

I_Want_SID[AY].ay
I_Want[SAA].ay
No_Power_2[TS].ay

itd.

ZX Freeq

  • *****
  • Wiadomości: 1833
  • Miejsce pobytu:
    Warszawa
Odp: Czy znak PLUS zawsze jest plusem? (kodowanie znaków)
« Odpowiedź #2 dnia: 2016.04.12, 08:48:33 »
Dopisuję się do pomysłu z nawiasami kwadratowymi.
ZX80|ZX81+16kB+PandAY|ZX 48k/+/128k+/+2/+2A/+3/Vega/Next|QL+QIDE|JS128|Timex 2048+2040|UK2086|FDD3000+3.5''|AY|ZX HD|Divide2k11/2k14|DivMMC/PicoDivSD|BetaDisk 128|Opus|Masakrator FM|If 1/2/Microdrv|Multiface 1|+2A\B SDI-1|SJS 1/2|ZX Printer|TZXDuino|+3 HxC USB|ZXUno|Omni
Z88|A500/600|PC200|Ent128

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Czy znak PLUS zawsze jest plusem? (kodowanie znaków)
« Odpowiedź #3 dnia: 2016.04.12, 15:46:19 »
Przetestowałem w ZXTune na Android, nie ma problemu z "+", ale jeśli może zamieniać się na %2B, to lepiej zrezygnować.
Przez kilkanaście godzin każdy może sprawdzić na swoim sprzęcie, później usuwam folder test.

Może dla lepszej czytelności odseparować nawiasy dodatkowym "_"?
I_Want_[SAA].ay
No_Power_2_[TS].ay

AY Music, ULA plus.

matofesi

  • *****
  • Wiadomości: 2048
  • Miejsce pobytu:
    Toruń/Poland
Odp: Czy znak PLUS zawsze jest plusem? (kodowanie znaków)
« Odpowiedź #4 dnia: 2016.04.13, 09:29:39 »
Może dla lepszej czytelności odseparować nawiasy dodatkowym "_"?
I_Want_[SAA].ay
No_Power_2_[TS].ay

Raczej nie. Nawiasy kwadratowe powinny być informacją dla odtwarzacza, że tu się zaczyna coś, co jest dodatkową, zestandaryzowaną informacją, którą ma sobie odciąć i nie pokazywać jako części nazwy tylko zinterpretować i dodać do pliku odpowiednią ikonkę albo inny znacznik.
Poprawić czytelność mogłaby spacja przed nawiasem kwadratowym, ale wtedy używanie podkreślnika jako odstępu jest trochę bez sensu.
A swoją drogą czemu ten podkreślnik? W zasadzie wszystkie w miarę nowoczesne systemy plików obsługujące długie nazwy nie mają problemów ze spacjami w nazwach - może więc zamiast "I_Want_[SAA].ay" po prostu "I Want [SAA].ay"?

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Czy znak PLUS zawsze jest plusem? (kodowanie znaków)
« Odpowiedź #5 dnia: 2016.04.14, 09:10:15 »
Tak zrobię z kwadratowymi nawiasami, w sumie to informacja dla użytkownika i dla wyszukiwania. Player odczyta konfigurację z pliku, z wartości presetu. Chyba że autor nie ma na to ochoty, to zawsze może skorzystać z dopisku.

Co do spacji, to poza oczywistą zamianą na %20 w linkach, chodzi też o kolejność sortowania plików.
Kropka w rozszerzeniu ma wyższy kod niż spacja, gdyby wyrazy były oddzielane spacją to np.
Cybernoid 2.ay byłby przed Cybernoid.ay
Song remix.ay byłby przed Song.ay
AY Music, ULA plus.

matofesi

  • *****
  • Wiadomości: 2048
  • Miejsce pobytu:
    Toruń/Poland
Odp: Czy znak PLUS zawsze jest plusem? (kodowanie znaków)
« Odpowiedź #6 dnia: 2016.04.14, 10:36:25 »
Co do spacji, to poza oczywistą zamianą na %20 w linkach, chodzi też o kolejność sortowania plików.
Kropka w rozszerzeniu ma wyższy kod niż spacja, gdyby wyrazy były oddzielane spacją to np.
Cybernoid 2.ay byłby przed Cybernoid.ay
Song remix.ay byłby przed Song.ay

Fakt. O tym nie pomyślałem, a to jest standardowy problem jak robię różne skrypty sortujące pliki, nazwy kanałów TV itp. i zawsze muszę kombinować, żeby "coś", "coś 2" i "coś +1" były w odpowiedniej kolejności ;)