我有一个ETL过程,定期从ODBC数据源中提取代码,对其进行操作,然后将其插入到我的postgres数据库中。此数据源中的一列通常包含奇数字符。
在大多数情况下,我可以适当地捕获并转换所有字符,但是我有一个字符存在于ODBC数据源中,不能被带入postgres(该字符被截断后的所有文本),而我我很难确定这个角色是什么。
我甚至无法直接在这篇文章中插入一个角色的例子,因为它被剥离了:/我能得到的最接近的是textmate中的角色的屏幕截图(我实际上可以看到角色的唯一应用程序) ):
字符是1和0之间的菱形。当我的数据进入时,0之后的所有内容都被截断。
有没有一种很好的方法来识别这个角色是什么,所以我可以想出一种剥离它的方法?
答案 0 :(得分:0)
根据triee对原始问题的评论:
要识别字符,我抓住文本的十六进制值,以识别有问题的字符的十六进制值。
有很多方法可以做到这一点,但对我来说最快捷的方法是使用我调用HexFiend的实用程序应用程序,然后将文本转储到。一旦文本进入并且我突出显示该字符,它返回十六进制值“00”。
更多的研究指出在C语言应用程序中使用hex null值作为行终止符(考虑到我的项目的上下文,这是有意义的)。
我已经将这个空值放入我的ETL过程中,以便用新线切换出来,现在一切都是阳光和曙光。
再次感谢您的帮助!