lexikografisch sortieren?

7

Ich arbeite an der Integration mit der Photobucket-API, und ich stieß auf diese in ihrer api docs :

  

"Sortieren Sie die Parameter nach Namen   lexographisch (Bytereihenfolge, die   Standardsortierung, nicht natürlich oder Fall   unempfindlich). Wenn die Parameter haben   den gleichen Namen, dann nach dem Wert sortieren. "

Was heißt das? Wie sortiere ich lexikografisch? Byte-Bestellung?

Der Rest ihrer Dokumente war bisher in Ordnung, aber (für mich) scheint diese Zeile eine weitere Erklärung zu enthalten. Leider war keiner zu haben.

Wie auch immer, ich schreibe die Anwendung in Python (es wird schließlich zu einer Django-App), falls Sie spezifische Module empfehlen, die diese Sortierung für mich übernehmen werden ^ _ ^

    
Jiaaro 08.05.2009, 16:18
quelle

4 Antworten

6

Das Wort sollte "lexikographisch" sein

Ссылка

Wörterbuchreihenfolge. Verwenden Sie die Buchstaben, wie sie in den Strings erscheinen.

Wie sie vorschlagen, falten Sie Groß- und Kleinschreibung nicht zusammen. Verwenden Sie einfach die integrierte list.sort () - Methode von Python.

    
S.Lott 08.05.2009, 16:24
quelle
8

Ich denke, dass lexikographisch hier ein "Alias" für ascii sort ist?

%Vor%     
dfa 08.05.2009 16:38
quelle
4

Dies ist ähnlich der Facebook-API - die Abfragezeichenfolge muss vor dem Generieren des Signatur-Hashs normalisiert werden.

Sie haben wahrscheinlich ein Wörterbuch mit Parametern wie:

%Vor%

Erstellen Sie die Abfragezeichenfolge wie folgt:

%Vor%

params.items() gibt die Schlüssel und Werte des Dictionary als Listentupel zurück, sorted() sortiert die Liste und urllib.urlencode() verknüpft sie beim Escaping zu einer einzigen Zeichenkette.

    
a paid nerd 08.05.2009 16:31
quelle
1

Zitieren Sie ein wenig mehr aus dem Abschnitt:

  

2 Generiere den Basisstring:

     

Normalisieren Sie die Parameter:

     
  • Fügen Sie den Eingabeparametern die OAuth-spezifischen Parameter für diese Anforderung hinzu, einschließlich:

    %Vor%
  •   
  • Sortieren Sie die Parameter nach dem Namen lexographisch (Bytereihenfolge, Standardsortierung, nicht natürlich oder ohne Berücksichtigung der Groß- und Kleinschreibung). Wenn die Parameter denselben Namen haben, sortieren Sie nach dem Wert.

  •   
  • Codieren Sie die Parameterwerte wie in RFC3986 Abschnitt 2 (d. h. Urlencode).   Erstelle Parameter string (). Dies ist das gleiche Format wie HTTP 'postdata' oder 'querystring', dh jeder Parameter wird als Name = Wert dargestellt, getrennt durch & amp ;. Zum Beispiel a=1&b=2&c=hello%20there&c=something%20else

  •   

Ich denke, dass sie sagen, dass die Parameter in der sortierten Reihenfolge erscheinen müssen - oauth_consumer_key vor oauth_nonce vor ...

    
Jonathan Leffler 08.05.2009 17:16
quelle

Tags und Links