EF BB BF UTF-8
FE FF UTF-16/UCS-2, little endian
FF FE UTF-16/UCS-2, big endian
FF FE 00 00 UTF-32/UCS-4, little endian.
00 00 FE FF UTF-32/UCS-4, big-endian.
*/
integer li_FileNum,li_bytes
li_FileNum = FileOpen(as_filename, StreamMode!)
long ll_first[]
blob lb_data
li_bytes = FileRead(li_FileNum, lb_data)
ll_first[1]=asc(string(blobmid(lb_data,1,1)))
ll_first[2]=asc(string(blobmid(lb_data,2,1)))
ll_first[3]=asc(string(blobmid(lb_data,3,1)))
ll_first[4]=asc(string(blobmid(lb_data,4,1)))
if ll_first[1]=239 and ll_first[2]=187 and ll_first[3]=191 then
return 1//utf-8
end if
if ll_first[1]=254 and ll_first[2]=255 then
return 2//utf-16
end if
if ll_first[1]=255 and ll_first[2]=254 then
return 3//utf-16
end if
if ll_first[1]=255 and ll_first[2]=254 and ll_first[3]=0 and ll_first[4]=0 then
return 4//utf-32
end if
if ll_first[1]=0 and ll_first[2]=0 and ll_first[1]=254 and ll_first[2]=255 then
return 5//utf-32
end if