Tach!
Du solltest mal Debugging betreiben. Es ist zwar so, dass die NULL-Zeichen entfernt werden, aber das liegt weder an String.prototype.trim() noch am Browser.
Dann tät mich mal interessieren wer da die NULL-Zeichen entfernt. Mein Code vielleicht?
Moment, Irrtum meinerseits. Trim ist es weiterhin nicht, aber der HTML-Parser ist es. Beim Zuweisen an innerText bleiben die Zeichen erhalten, beim Zuweisen an innerHTML jedoch nicht. Dein Code übergibt das ausfüllte Template an jQuerys .html(). Das hielt ich für den Täter. Aber das reicht vermutlich auch nur durch.
dedlfix.