An observation after failing to read a Stata scalar using Stata Python sfi Scalar getString(); The scalar defined by fileread() is marked as binary ( help dta##strls_gso ):
Code:
clear
set obs 1
python: from sfi import Scalar, StrLConnector

tempname S
tempvar s ss
tempfile f

scalar `S' = "A" * ( 2045 + 1 ) // strL
gen `s'  =  `S'
python:  len(Scalar.getString("`S'")) ; StrLConnector(0,0).isBinary()  

* 2046
* False

di filewrite("`f'",`S')
* 2046

scalar `S' =  fileread("`f'") // marked as binary help dta##strls_gso
generate `ss'  =  `S'
python: len(Scalar.getString("`S'")) ; StrLConnector(1,0).isBinary()

* 0
* True