[Python] Letture file binario da Vb a Python

Daniele Varrazzo piro a develer.com
Gio 1 Nov 2012 12:33:48 CET


On 2012-11-01 10:17, Stefano Dal Pra wrote:
> 2012/11/1 Daniele Varrazzo <piro a develer.com>:
>> On 2012-11-01 09:09, Stefano Dal Pra wrote:
>>>
>>> Mah, direi che fa qualcosa tipo questo:
>>
>>
>> Grazie per il top posting, così è facile seguire domande e risposte 
>> no?
>
> Si', per alcuni e' piu' facile.

Per noi lo è: questo è l'importante. Altre ML possono avere altre 
preferenze, ma non è rilevante qui. La cosa viene reiterata ogni 
settimana ma tu ovviamente sei superiore.


> Pero' mi rimangono due dubbi:
> - sugli esempio di uso stringhe in VB mi sembra che gli indici 
> partano
> da 0, come in python.

Uso mid da quando si chiamava mid$ e lo schermo era blu con la cornice 
azzurra. Il primo carattere è 1.

http://msdn.microsoft.com/en-us/library/05e63829(v=vs.80).aspx


> - Mi sembra che String sia per default unicode (quindi un carattere
> --> 2 byte) tranne quando
> si specifica direttamente la stringa tra "".
> In questo caso B e' un buffer binario, quindi anziche B[n] si 
> dovrebbe
> prendere B[2*n : 2*n + 2] ?

Il file è aperto in maniera binaria: vengono letti dei byte. Non viene 
fatta nessuna decodifica.


> O in qualche modo "python way" gestire il caso di stringhe unicode?

Sì, ci sono le stringhe unicode appunto, ma fanno loro i calcoli delle 
posizioni in memoria. Moltiplicare per 2 assume stringhe unicode 
memorizzate in UTF16, che non è sempre corretto (python può essere 
compilato per usare 4 byte in memoria, e Py 3.3 ha unicode a dimensione 
variabile, a senconda del contenuto).


-- 
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com


Maggiori informazioni sulla lista Python