7-Bit-encoded Integer - .Net Strings lesen/schreiben
Übersicht BlitzMax, BlitzMax NG Codearchiv & Module
JolinahBetreff: 7-Bit-encoded Integer - .Net Strings lesen/schreiben |
So, Mai 22, 2005 20:17 Antworten mit Zitat |
|
---|---|---|
Hi, hab gedacht ich mach daraus gleich ein kleines Modul.
Siehe https://www.blitzforum.de/viewtopic.php?t=11528 Code: [AUSKLAPPEN] Strict Module pub.cstring Import brl.stream Function Read7BitInt(stream:TStream) Local _count:Int = 0 Local _shift:Int = 0 Local _counter:Int = 0 Local _b:Byte = 0 Repeat Try _b = ReadByte(stream) Catch Ex:Object Throw "Error reading 7 Bit encoded Integer" End Try _counter :+ 1 If _counter > 4 Throw "Overflow 7 Bit encoded Integer" EndIf _count = _count | (_b & $7F) Shl _shift _shift :+ 7 Until (_b & $80) = 0 Return _count End Function Function Write7BitInt(stream:TStream, value:Int) While value >= $80 WriteByte(stream, Byte((value | $80)) ) value = value Shr 7 Wend WriteByte(stream, Byte(value)) End Function Function ReadCString:String(stream:TStream) Local length:Int = Read7BitInt(stream) Local value:String = ReadString(stream, length) Return value End Function Function WriteCString(stream:TStream, value:String) Write7BitInt(stream, Len(value)) WriteString(stream, value) End Function Anwendung: Code: [AUSKLAPPEN] Local stream = CreateUDPStream() Local name:String = ReadCString(stream) WriteCString(stream, name) |
||
Übersicht BlitzMax, BlitzMax NG Codearchiv & Module
Powered by phpBB © 2001 - 2006, phpBB Group