将字节增量解码为字符串和行
decode-acc的Python项目详细描述
#一种将字节增量解码为字符和行的解码器,
一旦积累了足够的字节以产生指定编码中的字符,这将添加到结果字符串中。
请注意,“decodeCamulator”对象是不可变的值对象:
“add()”方法不会修改其invocant,但返回一个新的
“decodeCamulator”对象。
示例用法:
产生
(acc,lines)=acc.pop_lines()
打印('\n'。连接(lines)
如果acc.buf:
打印('缓冲区中剩余的字节!'我是说,file=sys.stderr)
if acc.splitter.buf:
print('incomplete line:'+acc.splitter.buf)
final=acc.add(none)
assert(final.splitter.buf=='')
assert(final.splitter.done)
assert(final.splitter.lines)==len(acc.splitter.lines)+1)
“universal newlines”类尽力模拟“file”对象的“universalnewlines”行为。“fixedolsplitter”类使用指定的字符串作为要拆分的行结束符。“nullsplitter”类不进行任何拆分。
示例用法:
对于输入字符串中的字符:
spl=spl.add(char)
spl.add(none)
line=line))
重新发布源代码必须保留上述版权
注意,此条件列表和以下免责声明。
2.以二进制形式重新分发必须复制上述版权
注意,此条件列表和
文档和/或发行版提供的其他材料中的以下免责声明。
本软件由作者和贡献者“按原样”和
任何明示或暗示的保证提供,包括但不限于,对特定用途的适销性和适销性的隐含担保是否定的。在任何情况下,作者或贡献者对任何直接的、间接的、附带的、特殊的、惩戒性的或后果性的损害(包括但不限于购买替代品或服务;使用、数据或利润损失)概不负责;或业务中断)
无论是何种原因造成的,根据任何责任理论,无论是在合同中,严格的
责任,或因使用本软件而以任何方式产生的侵权行为(包括疏忽或其他),即使被告知有可能造成此类损害。
一旦积累了足够的字节以产生指定编码中的字符,这将添加到结果字符串中。
请注意,“decodeCamulator”对象是不可变的值对象:
“add()”方法不会修改其invocant,但返回一个新的
“decodeCamulator”对象。
示例用法:
产生
(acc,lines)=acc.pop_lines()
打印('\n'。连接(lines)
如果acc.buf:
打印('缓冲区中剩余的字节!'我是说,file=sys.stderr)
if acc.splitter.buf:
print('incomplete line:'+acc.splitter.buf)
final=acc.add(none)
assert(final.splitter.buf=='')
assert(final.splitter.done)
assert(final.splitter.lines)==len(acc.splitter.lines)+1)
“universal newlines”类尽力模拟“file”对象的“universalnewlines”行为。“fixedolsplitter”类使用指定的字符串作为要拆分的行结束符。“nullsplitter”类不进行任何拆分。
示例用法:
spl=spl.add(char)
spl.add(none)
line=line))
重新发布源代码必须保留上述版权
注意,此条件列表和以下免责声明。
2.以二进制形式重新分发必须复制上述版权
注意,此条件列表和
文档和/或发行版提供的其他材料中的以下免责声明。
本软件由作者和贡献者“按原样”和
任何明示或暗示的保证提供,包括但不限于,对特定用途的适销性和适销性的隐含担保是否定的。在任何情况下,作者或贡献者对任何直接的、间接的、附带的、特殊的、惩戒性的或后果性的损害(包括但不限于购买替代品或服务;使用、数据或利润损失)概不负责;或业务中断)
无论是何种原因造成的,根据任何责任理论,无论是在合同中,严格的
责任,或因使用本软件而以任何方式产生的侵权行为(包括疏忽或其他),即使被告知有可能造成此类损害。