Changes

Jump to: navigation, search

ServerJS/Encodings

295 bytes added, 11:59, 6 June 2009
Class: Transcoder: change Transcoder API in a _major_ way.
; [Method] push(byteStringOrArray[, outputByteArray])
: Convert input from a ByteString or ByteArray. Those parts of byteStringOrArray that could not be converted (for multi-byte encodings) are stored in a buffer. If outputByteArray is passed, the results are ''appended'' to outputByteArray.
: If outputByteArray was passed, returns outputByteArray, otherwise returns (as a ByteString) as much <u>nothing and the output as could be convertedis accumulated in an internal buffer.</u>; [Method] close([outputByteArray])
: Close the stream. Throws an exception if there was a conversion error (specifically, a partial multibyte character).
: Returns nothing and takes no parameters<u>Writes the remaining output bytes (including those that were accumulated because push was called without an outputByteArray) into the here given outputByteArray (appended) or a new ByteString.If outputByteArray is given, it is returned, otherwise the ByteString is returned.</u>
'''TODO''': Which exception to throw on error?
Transcoder = require('encodings').Transcoder
transcoder = new Transcoder('iso-8859-1', 'utf-32')
output = transcoder.push(input) // input is a ByteString, and output too output = transcoder.close()// and output is a ByteString too
Another example:
transcoder.push(input, output)
}
transcoder.close(output)
// output is the complete conversion of all the input chunks concatenated now
62
edits

Navigation menu