SRT has almost no styling or positioning, and character encoding problems are common. TTML is accepted by broadcast and streaming platforms. SRT is at home in subtitles that must work almost everywhere; TTML is the usual choice for subtitles delivered to broadcasters and streaming services.
The text is read as UTF-8 or UTF-16, whichever the file is. An older file in another code page is read using the charset it declares, or as Windows-1252 if it declares none, so accented letters in an unlabelled legacy file can come out wrong. A file that is not text, such as the picture-based subtitles of a DVD, is refused instead of being converted to nonsense. Of the styling, only italic, bold, underline and the position on screen (top, middle or bottom, left, centre or right) travel between formats; fonts, colours, outlines and effects do not. Positions are written as TTML regions and italic, bold and underline as styled spans; the result is a plain TTML file with no broadcast-specific profile.