For displaying code on websites, it may be a necessary step even if it loses data. Still, at least for most of my personal use cases, it's fine - If I need a tab character in a string I almost always use a tab escape (like \t) anyways, the main exception being for code generation where it is fine if it changes anyways.