Los datos de origen son claramente UTF-16. En su publicación, se muestra interpretada como ISO-8859-1 y se ha alterado ligeramente en el proceso; algunos bytes se han convertido a �
.
También hay algunos bytes faltantes causados por copiar y pegar, o hay algunos bytes de control en la mitad de la secuencia, que interrumpen el flujo de dos bytes por carácter. Esperemos que el primero, ¿puede publicar los bytes sin procesar (por ejemplo, como volcado hexadecimal)? Si este es el caso, deberías poder decodificarlos simplemente como UTF-16 (probablemente UTF-16LE).
Para lo que vale, intente recuperar los bytes originales, con �
interpretado como nulo (como el byte más común en UTF-16) usando Python:
>>> data= ur'''N mwyûR¨geu5cÐN:'¨g R¡ÿ�0�0�9�0�5�3�2�2�1�3�0�0�8�9S÷xW(�2�0�1�3^t�0�3g�0�6eå�2�3�:�3�8bèbSÇ'¨vbKg:ÿ÷SÊeöVÞu50⁎睭ﭹꡒ敧㕵큣㩎ꡠꅒÿ0090532213008匹磷⡗㈀ ㌀瑞 ㌀g0收å23:3戸拨읓ꡠ扶杋Z号旊囶痞〵ぜぜ⥙⭳䙕칗業ﵬ쁑㑬桖佐孓」솤x801戱拨S400820266户홓㱐㈀㔀㠀 䍑쁑㑬桖N〰業ﵬ꽳�尰尰0(1/3丩俻払佒﵎杄本杠f⁎睭ꑎ❙睭孙扦ê0帶彴刀‰셹�枡乃⁎䑞㭠珁ロ敧糇绻ﻟ빺ョ칎䙕ぎꑎ❙睭す
丠海移动来电提为您朠务 㤀 㔀㌀㈀㈀㌀ 㠀㥓在2013年03最 㙥㈀㌀㨀㌀㡢叇您癢䭧㫿쩥�㔰尰尰天猫商城浩泽净水器无偏卛揿凭꓁砀㠀 ㅢ匀㐀 㠀㈀ ㈀㘀㘀㝢取价值2580元净水器一台〰浩泽环保ぜぜ ⠀⼀㌀⥎ﭏ啢剏份䑧Ⱨ恧䛿丠海交大海奛晢 㙞瑟R〠私募ꅧ䍎丠幄总셳以来일ﭾ�窾滿从商丰交大海夰
丠海移动来电提为您朠务0090532213008匹在2013年03最0623:38戸Z号旊囶痞㔰尰尰天猫商城浩泽净水器无偏卛揿凭x801戱拨S400820266户取价值2580元净水器N浩泽环保0(1/3啢剏份杄本杠䛿丠海交大海奛晢0帶彴刀私募枡乃⁎䑞㭠珁ロ以来敧糇绻窾滿从商丰交大海夰
Y)s+UFWÎmilýQÀl4VheàPOS[cÿQí¤Áx�8�0�1�1bèbS�4�0�0�8�2�0�2�6�6�7bSÖN÷P<�2�5�8�0QCQÀl4VhN�Sð00milýs¯OÝ0>>> print '0848674376CA90FD4E0D80FD4FDD969C76845BA26237300262404EE573B05728770B6765FF0C516C53F85B81613F9AD86210672C9AD84E8E6052592971364EF7683C53BB57F9517B6276630151764ED676844F9B5E945546FF0C4ECE957F671F770BFF0C7EE77EED51CF5C11548C605259297136768454084F5C657091CF548C53606BD43002000000084900'.decode('hex').decode('utf-16be')
ࡈ权益都不能保障的客户。所以现在看来,公司宁愿高成本高于恒天然价格去培养扶持其他的供应商,从长期看,继续减少和恒天然的合作数量和占比。䤀
>>> u'q\x8ae\x87cw:N\nk!u5\x8b\xddN_T\x8cO'\x8b\xf4N\x86\xff\x0c'RY)q6v\x84\x88LN:\x8b\xa9QlS\xf8\x8b\xa4N:\xff\x0c'RY)q6N\nf/b\x11N\xecv\x84b\x18ueT\x08O\O\x9b^\x94UF\xff\x0cZ\x03T\xc8T\xc8[\xf9'RY)q6ge\x8b\xf4\xff\x0cN\xc5N\xc5f/NN*fn\x90\x1a[\xa2b7\xff\x0c\x80\x0cN\x14f/kc^8gCv\xca\x90\xfdN\n\x80\xfdO\xdd\x96\x9cv\x84[\xa2b70\x02b@N\xe5s\xb0W(w\x0bge\xff\x0cQlS\xf8[\x81a?\x9a\xd8b\x10g,\x9a\xd8N\x8e'RY)q6N\xf7h<S\xbbW\xf9Q{bvc\x01QvN\xd6v\x84O\x9b^\x94UF\xff\x0cN\xce\x95\x7fg\x1fw\x0b\xff\x0c~\xe7~\xedQ\xcf\\x11T\x8c'RY)q6v\x84T\x08O\ep\x91\xcfT\x8cS'k\xd40\x02\n'
�(�1�/�3�)NûOUbRONýDg,g'gFÿN mwN¤Y'mwY[fbê�0�6^t_�R0 yÁRß¡gCNN ^D';Ásí0NågeÇ|û~ßþz¾nÿNÎUFN0N¤Y'mwY0'''
>>> bytes= data.replace(u'\uFFFD', u'>>> print _.encode('iso-8859-1').decode('utf-16be', 'ignore')
熊文捷㩎੫ⅵ㖋彔豏悋蛿ౠ剙⥱㙶蒈䱎㪋ꥑ汓ꑎ㫿ౠ剙⥱㙎੦⽢ᅎ葢ᡵ敔ࡏ屏魞鑕䛿ౚ͔졔졛怒剙⥱㙧斋앎앦⽎
个普通客户,而且是正常权益都上能保障的客户。所以现在看来,公司宁愿高成本高于恒天然价格去培养扶持其他的供应商,从长期看,继续减少和恒天然的合作数量和占比。
').encode('iso-8859-1')
>>> print bytes.decode('utf-16le', 'replace')
>>> print bytes.decode('utf-16be', 'replace')
Luego, elija los caracteres que le parezcan más apropiados de cada línea de:
話蝥督为權甡謵仝呟侌譠仴ニ怌奒焩瘶袄乌謺冩卬诸交Z怌奒焩丶昊戯丑盬抄甘呥伈作庛喔f娌吃哈寈惹奒焩朶譥丌仅曅丯
por ejemplo, algo como:
>>> data= ur'''N mwyûR¨geu5cÐN:'¨g R¡ÿ�0�0�9�0�5�3�2�2�1�3�0�0�8�9S÷xW(�2�0�1�3^t�0�3g�0�6eå�2�3�:�3�8bèbSÇ'¨vbKg:ÿ÷SÊeöVÞu50⁎睭ﭹꡒ敧㕵큣㩎ꡠꅒÿ0090532213008匹磷⡗㈀ ㌀瑞 ㌀g0收å23:3戸拨읓ꡠ扶杋Z号旊囶痞〵ぜぜ⥙⭳䙕칗業ﵬ쁑㑬桖佐孓」솤x801戱拨S400820266户홓㱐㈀㔀㠀 䍑쁑㑬桖N〰業ﵬ꽳�尰尰0(1/3丩俻払佒﵎杄本杠f⁎睭ꑎ❙睭孙扦ê0帶彴刀‰셹�枡乃⁎䑞㭠珁ロ敧糇绻ﻟ빺ョ칎䙕ぎꑎ❙睭す
丠海移动来电提为您朠务 㤀 㔀㌀㈀㈀㌀ 㠀㥓在2013年03最 㙥㈀㌀㨀㌀㡢叇您癢䭧㫿쩥�㔰尰尰天猫商城浩泽净水器无偏卛揿凭꓁砀㠀 ㅢ匀㐀 㠀㈀ ㈀㘀㘀㝢取价值2580元净水器一台〰浩泽环保ぜぜ ⠀⼀㌀⥎ﭏ啢剏份䑧Ⱨ恧䛿丠海交大海奛晢 㙞瑟R〠私募ꅧ䍎丠幄总셳以来일ﭾ�窾滿从商丰交大海夰
丠海移动来电提为您朠务0090532213008匹在2013年03最0623:38戸Z号旊囶痞㔰尰尰天猫商城浩泽净水器无偏卛揿凭x801戱拨S400820266户取价值2580元净水器N浩泽环保0(1/3啢剏份杄本杠䛿丠海交大海奛晢0帶彴刀私募枡乃⁎䑞㭠珁ロ以来敧糇绻窾滿从商丰交大海夰
Y)s+UFWÎmilýQÀl4VheàPOS[cÿQí¤Áx�8�0�1�1bèbS�4�0�0�8�2�0�2�6�6�7bSÖN÷P<�2�5�8�0QCQÀl4VhN�Sð00milýs¯OÝ0>>> print '0848674376CA90FD4E0D80FD4FDD969C76845BA26237300262404EE573B05728770B6765FF0C516C53F85B81613F9AD86210672C9AD84E8E6052592971364EF7683C53BB57F9517B6276630151764ED676844F9B5E945546FF0C4ECE957F671F770BFF0C7EE77EED51CF5C11548C605259297136768454084F5C657091CF548C53606BD43002000000084900'.decode('hex').decode('utf-16be')
ࡈ权益都不能保障的客户。所以现在看来,公司宁愿高成本高于恒天然价格去培养扶持其他的供应商,从长期看,继续减少和恒天然的合作数量和占比。䤀
>>> u'q\x8ae\x87cw:N\nk!u5\x8b\xddN_T\x8cO'\x8b\xf4N\x86\xff\x0c'RY)q6v\x84\x88LN:\x8b\xa9QlS\xf8\x8b\xa4N:\xff\x0c'RY)q6N\nf/b\x11N\xecv\x84b\x18ueT\x08O\O\x9b^\x94UF\xff\x0cZ\x03T\xc8T\xc8[\xf9'RY)q6ge\x8b\xf4\xff\x0cN\xc5N\xc5f/NN*fn\x90\x1a[\xa2b7\xff\x0c\x80\x0cN\x14f/kc^8gCv\xca\x90\xfdN\n\x80\xfdO\xdd\x96\x9cv\x84[\xa2b70\x02b@N\xe5s\xb0W(w\x0bge\xff\x0cQlS\xf8[\x81a?\x9a\xd8b\x10g,\x9a\xd8N\x8e'RY)q6N\xf7h<S\xbbW\xf9Q{bvc\x01QvN\xd6v\x84O\x9b^\x94UF\xff\x0cN\xce\x95\x7fg\x1fw\x0b\xff\x0c~\xe7~\xedQ\xcf\\x11T\x8c'RY)q6v\x84T\x08O\ep\x91\xcfT\x8cS'k\xd40\x02\n'
�(�1�/�3�)NûOUbRONýDg,g'gFÿN mwN¤Y'mwY[fbê�0�6^t_�R0 yÁRß¡gCNN ^D';Ásí0NågeÇ|û~ßþz¾nÿNÎUFN0N¤Y'mwY0'''
>>> bytes= data.replace(u'\uFFFD', u'>>> print _.encode('iso-8859-1').decode('utf-16be', 'ignore')
熊文捷㩎੫ⅵ㖋彔豏悋蛿ౠ剙⥱㙶蒈䱎㪋ꥑ汓ꑎ㫿ౠ剙⥱㙎੦⽢ᅎ葢ᡵ敔ࡏ屏魞鑕䛿ౚ͔졔졛怒剙⥱㙧斋앎앦⽎
个普通客户,而且是正常权益都上能保障的客户。所以现在看来,公司宁愿高成本高于恒天然价格去培养扶持其他的供应商,从长期看,继续减少和恒天然的合作数量和占比。
').encode('iso-8859-1')
>>> print bytes.decode('utf-16le', 'replace')
>>> print bytes.decode('utf-16be', 'replace')
que es lo más cerca que puedo llegar a inteligible dada la entrada mutilada.
ETA:
Aquí hay un volcado hexadecimal de un SMS más largo:
OK, esto es sencillo, es UTF-16BE (con un par de bytes de control de plomo y algunos finales):
話蝥督为權甡謵仝呟侌譠仴ニ怌奒焩瘶袄乌謺冩卬诸交Z怌奒焩丶昊戯丑盬抄甘呥伈作庛喔f娌吃哈寈惹奒焩朶譥丌仅曅丯
El SMS.Body codificado / analizado correspondiente era:
Bien, entonces esa es otra cadena de bytes UTF-16BE que se ha interpretado como ISO-8859-1. Recuperando los caracteres de control de tu publicación obtenemos:
%pre%
Deshacer la codificación errónea:
%pre%
Como puede ver, la segunda parte de esta cadena es el mensaje completo del cual lo anterior fue una codificación hexadecimal parcial.
La primera parte (antes de 个普通客户...
) es un misterio. Se decodifica como UTF-16LE válido (es decir, no es necesario para 'ignore'
), lo que normalmente sería una indicación de que la alineación del byte se ha deslizado (de nuevo, tal vez como resultado de la mutilación de caracteres al publicarlo en SO?). El resultado de esta decodificación incluso cabe principalmente dentro del bloque de caracteres han, pero es:
%pre%
que, por mi limitada comprensión del texto chino, parece ser una tontería.
No estoy muy impresionado con esta cosa de Cellebrite, ¡especialmente si incluye esos códigos de control directamente en XML! (Esto no está bien formado.)